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

2022-09-04 02:02:26

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

我知道我可以在POM文件中将目标设置为1.6,但问题是我无法在父POM中设置它并期望子级继承它。所以我必须为每个Maven模块做这件事。我如何在我的Maven项目或整个日食中设置它一次“终身”,而不修改每个Maven模块!?


答案 1

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

在父 pom 中设置 and 版本确实有效。<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>

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

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

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


答案 2

另一种方法(如果您尚未定义编译器插件)是在pom文件中仅设置以下属性:

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

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


推荐