我用 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。
你知道我怎样才能改变它吗?
最佳答案
我找到了解决方案 here . 在 Jenkins 的全局配置中也需要定义 JAVA_HOME 变量。 正如 Sudharsan 所解释的那样,步骤是:
转到管理 Jenkins - 配置系统
在全局属性-环境变量中添加JAVA_HOME及其路径
关于java - Jenkins 执行 Maven 时使用了错误的 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653477/