Jenkins maven发布了不同jdk的插件

时间:2015-08-31 20:50:55

标签: java maven jenkins maven-release-plugin

我想执行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]

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我到目前为止找到的最佳解决方案是升级jenkins运行的容器的JDK,并为后者添加JAVA_OPTS以支持以前的JDK版本。例如-Djava.version=1.7

这样我就可以构建和maven发布java 7或java 8的项目。