我有一些使用Maven和Jenkins编译和部署的项目,他们已经工作正常,直到现在我已经将java版本从6更改为7。
为了做到这一点,我执行了命令 sudo update-alternatives --config javac 并更改了 / etc / profile 文件中的JAVA_HOME和PATH的值。我还修改了pom文件,因此它使用了jdk 1.7:
<properties>
...
<jdk.version>1.7</jdk.version>
</properties>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
...
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
当我在控制台上执行它们时,它们编译正常并且显示的版本是正确的:
javac -version
javac 1.7.0_55
mvn install -debug
Apache Maven 2.2.1 (rdebian-8)
Java version: 1.7.0_55
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
然而,当我在jenkins工作中做同样的事情时,Maven使用的是1.6版本而不是1.7版本:
javac -version
javac 1.7.0_55
mvn install -debug
Apache Maven 2.2.1 (rdebian-8)
Java version: 1.6.0_31
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
我还修改了用于指示新版本的maven配置文件,并且在Jenkins管理面板中我更改了JDK版本。但是,Maven仍在使用1.6 jdk。
你知道我怎么改变它?
答案 0 :(得分:4)
我找到了解决方案here。 有必要在Jenkins的全局配置中定义JAVA_HOME变量。 正如Sudharsan解释的那样,步骤是:
转到管理Jenkins - 配置系统
在全局属性 - 环境变量中添加JAVA_HOME及其路径
答案 1 :(得分:3)
将Jenkins作业从JDK 1.6更改为JDK 1.8时出现类似问题。我从“管理Jenkins /配置系统”中删除了JDK1.6条目,只留下了JDK1.8。我预计工作将开始使用JDK1.8,但他们没有。我检查了这些工作,他们没有任何JDK任务。重启詹金斯也没有帮助。
最后,我注意到只需重新保存一个作业,它就开始使用正确的JDK1.8。
(Jenkins ver.1.602)