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

LAC*_*LAC 14 java eclipse maven-3 maven

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

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

Mar*_*lis 12

我知道我可以在pom文件中将目标设置为1.6,但问题是我不能在父pom中设置它并期望孩子继承它.

在父pom中设置<source><target>版本确实有效.

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

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>
Run Code Online (Sandbox Code Playgroud)

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

  • 子指定父级的正确版本;
  • 父pom指定两者sourcetarget值;
  • mvn install在父母身上跑过; 和
  • mvn help:effective-pom 在子项目上显示预期的源/目标值.

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