Maven在Jenkins执行时使用了不正确的Java版本

时间:2014-05-14 11:31:15

标签: java linux maven jenkins

我有一些使用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。

你知道我怎么改变它?

2 个答案:

答案 0 :(得分:4)

我找到了解决方案here。 有必要在Jenkins的全局配置中定义JAVA_HOME变量。 正如Sudharsan解释的那样,步骤是:

  1. 转到管理Jenkins - 配置系统

  2. 在全局属性 - 环境变量中添加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)