我正在使用 maven 3.2.5 来构建我的项目,这个版本的 maven 与 java 6 兼容。
我想构建一个使用带有 maven-enforcer-plugin 的 java 5 的项目。
如果我将 JAVA_HOME 设置为 java 5 目录,我将无法运行 maven,如果我将 JAVA_HOME 设置为 java 6 目录,则执行器插件会抱怨 java 版本。
有没有办法告诉 maven 使用与用于运行 maven 的版本不同的 java 版本?
我正在使用 maven 3.2.5 来构建我的项目,这个版本的 maven 与 java 6 兼容。
我想构建一个使用带有 maven-enforcer-plugin 的 java 5 的项目。
如果我将 JAVA_HOME 设置为 java 5 目录,我将无法运行 maven,如果我将 JAVA_HOME 设置为 java 6 目录,则执行器插件会抱怨 java 版本。
有没有办法告诉 maven 使用与用于运行 maven 的版本不同的 java 版本?
在这种情况下,您需要使用可以准确解决问题的工具链。就像使用 JDK 7(例如 Maven 3.5.0)运行 Maven,但代码需要使用 JDK 6 进行编译和测试。
请参阅有关工具链的文档。
您可以使用 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>
右键单击项目