在Eclipse中为Maven项目设置默认的Java合规性级别

Maven的默认合规级别是1.5,每次我在Eclipse中更新maven项目时,它都会将合规级别从1.6恢复到1.5,这对我来说真的很烦人。

我知道我可以在POM文件中将目标设置为1.6,但问题是我不能在父POM中设置它并期望孩子inheritance它。 所以我必须为每个Maven模块做这件事。 如何在我的Maven项目或整个eclipse中设置一次“生命周期”而不修改每个Maven模块!?

我知道我可以在pom文件中将目标设置为1.6,但问题是我不能在父pom中设置它并期望子进程inheritance它。

在父pom中设置版本确实有效。

例如,在我的父母pom中,我有:

     org.apache.maven.plugins maven-compiler-plugin 2.3.2  1.6 1.6 UTF-8     

如果您遇到问题,可能需要检查:

  • 子指定父级的正确版本;
  • 父pom指定source值和target ;
  • 你在父母上运行了mvn install ; 和
  • mvn help:effective-pom子项目的mvn help:effective-pom显示预期的源/目标值。

修改poms后,您可能需要选择两个项目并使用Maven-> Update Project

这对我有用..

  ProjectName   org.apache.maven.plugins maven-compiler-plugin 2.3.1  1.6 1.6     

另一种方法(如果你还没有定义编译器插件)是在pom文件中设置这些属性:

  1.8 1.8  

详细信息 : https : //maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

转到项目的pom.xml并在标签之间插入。 然后eclipse插件(如m2eclipse)应该重建工作区。

    org.apache.maven.plugins maven-compiler-plugin  1.6 1.6 UTF-8     

注意:这是项目级别的,因为只有项目的pom.xml受到影响。