由于理论上错误的java版本,我在Intellij中构建项目时遇到了问题:
实际上我的项目设置设置正确:
Java 1.8也被设置为我的操作系统的默认JDK。不幸的是,当我尝试制作我的项目时,我收到以下错误:
你知道我应该在哪里更改配置才能成功构建我的项目吗?
更新的 在pom.xml文件中对属性进行specyfying之后:
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
项目构建正确。奇怪的是,当我删除那些属性(因此回到初始状态)并尝试再次构建项目时,一切正常。仍然,Intellij指出,我的线路导致第一张图片上出现的错误。有人知道为什么吗?在编辑器 - &gt;检查部分我已经选择了选项来尊重项目语言级别设置,因此根据项目配置,它应该是正确的(但不是):
答案 0 :(得分:3)
答案 1 :(得分:1)
如果您未指定maven.compiler.source
和maven.compiler.target
,则会使用一些默认值,而不是1.8。那&#39;为什么编译失败,正如你已经目睹的那样。
在pom.xml中添加正确的值后,编辑会成功,正如您所见过的那样。
然后,会发生什么是IntelliJ IDEA以某种方式将这些值缓存到某处。 (我认为IDEA项目文件是使用从pom.xml获取的值更新的,但根据您的经验判断,显然不是。)
一旦IDEA缓存了这些值,您就可以将它们从pom文件中删除,并且事情将继续显然工作一段时间。但实际上事情已经破裂了。
因此,如果您重新导入maven项目,或者如果删除了IntelliJ IDEA索引(从而基本上清除了缓存的信息),那么问题就会重新出现。
因此,要记住的规则是:如果您的项目正在使用pom.xml,那么pom.xml是查找构建的权威位置,并且IntelliJ IDEA项目属性对话框不再准确。< / p>
我同意,它工作得不好,如果IntelliJ人员提供了一个解决方案,使他们的项目属性对话框与pom.xml文件以及他们缓存的任何信息更加一致,那就太好了。