【发布时间】:2014-05-14 11:31:14
【问题描述】:
我有一些使用 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。
你知道我该如何改变它吗?
【问题讨论】:
-
您可以为每个 Jenkins 作业覆盖全局 JDK - 也许这是您的问题?
-
我刚刚找到了解决方案here。我所要做的就是在 Jenkins 的全局配置中定义 JAVA_HOME。谢谢安德斯!
-
也许您可以将其发布为您自己的答案,有些人有时不关心阅读此 cmets。
-
步骤如下: 1) 进入管理 Jenkins -> 配置系统 2) 在全局属性 -> 环境变量中添加 JAVA_HOME 及其路径