【问题标题】:Intellij: How to set project configuration to java 1.8Intellij:如何将项目配置设置为 java 1.8
【发布时间】:2016-08-17 05:27:57
【问题描述】:

由于理论上错误的 java 版本,我在 Intellij 中构建项目时遇到问题:

实际上我的项目设置设置正确:

Java 1.8 也被设置为我的操作系统的默认 JDK。不幸的是,当我尝试制作我的项目时,我收到以下错误:

您知道我应该在哪里更改配置以成功构建我的项目吗?

更新 在 pom.xml 文件中指定属性后:

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

项目构建正确。奇怪的是,当我删除这些属性(所以回到初始状态)并尝试再次构建项目时,一切正常。尽管如此,Intellij 指出,我的行会导致第一张图片上出现的错误。有人知道为什么吗?在 Editor -> Inspection 部分中,我选择了尊重项目语言级别设置的选项,因此根据项目配置,应该没问题(但不是):

【问题讨论】:

    标签: java maven intellij-idea build


    【解决方案1】:

    我找到了答案!其实我不明白,为什么java编译器的默认版本设置为1.5版……希望对你也有帮助

    【讨论】:

    • 参见Apache Maven Compiler Plugin: "另外请注意,目前默认source设置为1.5,默认target设置为1.5,与您运行的JDK无关Maven 与。"
    【解决方案2】:

    如果不指定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 文件以及它们缓存的任何信息更加一致,那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多