我想执行maven版本,在jdk 1.7上运行的Jenkins安装上编译java 1.8代码
我有一个使用 JDK Parameter Plugin 使用java 1.8编译的项目。它在进行常规构建时有效。
当我使用maven发布插件执行maven发布时,它使用java 1.7而不是插件上指定的版本来分配JVM。我想这需要环境中的java版本。
如果我将该作业的JAVA_HOME设置为1.8就可以了。
我正在尝试找到一个解决方案,我不必在所有工作中覆盖JAVA_HOME。
我尝试使用来自similar post的解决方案,通过强制编译器版本修复了OP问题:
<properties>
<jee.level>1.8</jee.level>
<jdk.level>1.8</jdk.level>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${jee.level}</source>
<target>${jdk.level}</target>
</configuration>
</plugin>
但我最终得到了:
[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project redeem-commons-test: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
任何帮助将不胜感激。
答案 0 :(得分:0)
我到目前为止找到的最佳解决方案是升级jenkins运行的容器的JDK,并为后者添加JAVA_OPTS以支持以前的JDK版本。例如-Djava.version=1.7
这样我就可以构建和maven发布java 7或java 8的项目。