【问题标题】:maven - Specify java compiler subversionmaven - 指定 java 编译器颠覆
【发布时间】:2019-01-10 07:20:52
【问题描述】:

在运行 Maven 更新时,Maven 会更改我的 Eclipse 项目的 jdk 版本。我在这里看到很多线程询问如何为 Maven 指定 Java 版本,这很容易:

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

我同时安装了 JDK 1.8.0_181 和 1.8.0_172。如果我想继续为我的系统使用 172 但我想使用 181 编译,我怎么能告诉 maven?我可以只指定主版本(1.8)而不指定其他次要版本号吗?

【问题讨论】:

    标签: java eclipse maven version


    【解决方案1】:

    您提到的数字与您使用的实际 JDK 版本无关。这通常通过JAVA_HOME 设置。也可以在 Maven 编译器插件中显式设置

    http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

    您提到的属性设置了编译器的行为。你可以例如使用 1.7 编译,即使使用 JDK 1.8.x(但不是 1.8 和 JDK 1.7.x)。

    【讨论】:

      【解决方案2】:

      您可以通过将路径设置为您要使用的javac版本来指定maven编译器使用的路径。

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
          <configuration>
            <verbose>true</verbose>
            <fork>true</fork>
            <executable><!-- path-to-javac --></executable>
            <compilerVersion>1.3</compilerVersion>
          </configuration>
        </plugin>
      

      您也可以在 maven 中使用工具链。这允许您指定用于编译的 JDK 的版本和路径。这将允许您指向您想要使用的次要版本。 配置请按照guide from the official documentation.

      【讨论】:

        猜你喜欢
        • 2011-02-01
        • 2011-04-07
        • 1970-01-01
        • 2012-02-29
        • 2013-11-20
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 2018-07-11
        相关资源
        最近更新 更多