是否可以强制gmaven插件使用与JAVA_HOME中指定的JDK不同的JDK?我们需要使用Java 7构建一个特定的项目,但大多数开发人员都会将Java_HOME设置为Java 6安装,因为我们所有的其他项目都仍然使用Java 6。
我们得到的错误信息是:
[ERROR] Failed to execute goal org.codehaus.gmaven:gmaven-plugin:1.4:generateStubs (default) on project XYZ: Execution default of goal org.codehaus.gmaven:gmaven-plugin:1.4:generateStubs failed: An API incompatibility was encountered while executing org.codehaus.gmaven:gmaven-plugin:1.4:generateStubs: java.lang.UnsupportedClassVersionError: <snip> : Unsupported major.minor version 51.0
谢谢!
Maven Enforcer插件是一种需要特定JDK版本的简单方法。
例如,您可以在ide或bat/sh文件中为maven任务指定JAVA_HOME智能理念
并且无需更改系统环境变量
maven编译器插件的配置示例
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
默认情况下,maven使用Java 1.4,而不是Java_HOME变量中的Java集。
您可以在maven complier插件配置中设置备用jdk。请参阅此处