2016-04-23 81 views
2

因为理论上错误的Java版本我有问题建立在我的IntelliJ项目:的IntelliJ:如何设置项目配置到Java 1.8

enter image description here

在现实中我的项目设置是否正确:

enter image description here

的Java 1.8也被设置为默认的JDK我的操作系统。可惜的是,当我尝试Ø使我的项目,我得到以下错误:

enter image description here

你有我应该在哪里,以successfuly建立我的项目更改配置什么想法?

更新 在pom.xml文件specyfying属性之后:

<maven.compiler.source>1.8</maven.compiler.source> 
<maven.compiler.target>1.8</maven.compiler.target> 

项目建立正确地将。奇怪的是,当我删除那些属性(所以回到初始状态),并试图再次建立项目,一切正常。尽管如此,Intellij指出,我的行会导致第一张图片上显示的错误。有人知道为什么吗?在编辑器 - >检查部分我有选择的选项,尊重项目语言级别设置,所以要根据项目配置,它应该是所有的权利(但不是):

enter image description here

回答

3

我找到了答案!其实我不明白,为什么默认版本的Java编译器设置为1.5版本...我希望你会发现它也有利于

enter image description here

+1

参见[阿帕奇Maven的编译器插件(https://maven.apache.org/plugins/maven-compiler-plugin/):“_Also注意到,目前默认的'source'设置为'1.5',默认的'target'设置为'1.5',与您运行Maven的JDK无关._“ –

0

如果你这样做不指定maven.compiler.sourcemaven.compiler.target,则使用一些默认值,它们不是1.8。这就是为什么编辑失败了,就像你已经看到的那样。

一旦你在pom.xml中添加了正确的值,编译成功了,正如你也见证的那样。

然后,发生什么事是IntelliJ IDEA以某种方式在某处缓存了这些值。 (我认为IDEA项目文件是使用从pom.xml中获取的值进行更新的,但根据您的经验判断,显然不是这样)。

一旦IDEA缓存了这些值,就可以将它们从pom文件中删除,而且事情会继续显然工作一段时间。但事实上已经破裂了。因此,如果您重新导入Maven项目,或者如果您删除IntelliJ IDEA索引(因此实质上清除缓存的信息),则问题将重新出现。

因此,需要记住的规则是:如果您的项目使用了pom.xml,那么pom.xml是查找构建的权威位置,并且IntelliJ IDEA项目属性对话框不再准确。

我同意,它不能很好地工作,如果IntelliJ人提供了一个解决方案,使他们的项目属性对话框与pom.xml文件更加一致,并且他们缓存的任何信息都会更好。

相关问题