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

时间:2017-06-13 11:24:18

标签: java maven java-home maven-enforcer-plugin

我正在使用maven 3.2.5来构建我的项目,这个版本的maven与java 6兼容。

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

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

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

3 个答案:

答案 0 :(得分:4)

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

请参阅有关toolchains的文档。

答案 1 :(得分:1)

您可以使用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>

答案 2 :(得分:-1)

右键点击项目

  • 点击属性
  • 点击项目Facets
  • 选择java版本
  • 点击“应用”