更新:看到自我答案 . 问题似乎是Maven导入或导入后模块设置的某种损坏 .
我有一个非常大的多模块Maven IntelliJ项目,有3个独立的根 .
我正在构建整个项目以准备提交 .
我从IntelliJ 2017.2.3旗舰版收到以下错误:
Information:Eclipse compiler 4.6.2 was used to compile java sources
...
Error:java: Target level '1.5' is incompatible with source level '1.8'. A target level '1.8' or better is required
这些代码都不应该用Java 5编译,它都是Java 8 .
该项目配置了JDK 1.8 Maven的maven-compiler-plugin已经配置为使用Java版本1.8,如here所述 .
2个问题:
-
是什么原因造成的?它是IntelliJ的已知错误吗?
-
如何找出项目中100个左右模块中哪个模块导致问题?
2 回答
看起来我找到了回答问题第二部分的方法:
我切换到Javac编译器(设置:构建,执行,部署:编译器:Java编译器:使用编译器) .
Javac在“消息”窗口中提供有关错误的更多详细信息,包括发生错误的模块名称 .
重新导入该模块(右键单击pom.xml:Maven:Reimport)可以解决该问题 .
我在我的项目中获得了几个maven模块,我可以通过将以下条目更改为1.8来更新这些模块下的.iml文件来解决这个问题 .