运行 maven 使用的 Java 版本不同于 运行 maven

Run maven using a different version of Java than the one used to run maven

我正在使用 maven 3.2.5 构建我的项目,此版本的 maven 与 java 6.

兼容

我想构建一个强制使用 java 5 和 maven-enforcer-plugin 的项目。

如果我将 JAVA_HOME 设置为 java 5 目录,我无法 运行 maven,如果我将 JAVA_HOME 设置为 java 6 目录,执行器插件抱怨 java 版本。

有没有办法告诉 maven 使用与 运行 maven 所用版本不同的 java 版本?

在这种情况下,您需要使用可以准确解决问题的工具链。像 运行 Maven 和 JDK 7(例如 Maven 3.5.0)但是代码需要用 JDK 6.

编译和测试

请参阅有关 toolchains 的文档。

你可以使用maven编译器插件来设置你想使用哪个javac,例如:

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.6.1</version>
    <configuration>
      <verbose>true</verbose>
      <fork>true</fork>
      <executable>WRITE HERE THE PATH TO YOUR JAVAC 1.5</executable>
      <compilerVersion>1.5</compilerVersion>
    </configuration>
  </plugin>

右键单击项目

  • 单击属性
  • 单击项目 Facets
  • Select java 版本
  • 点击应用