java - 设置 Mavens Java 版本

标签 java linux maven

我们正在尝试将所有系统升级到 jdk1.8.0_66,包括 maven(在 jenkins 上运行)。

[jenkins@zldinfra1 jvm]$ mvn -version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /opt/apache-maven-3.0.5
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.5.2.el6.centos.plus.x86_64", arch: "amd64", family: "unix"
[jenkins@zldinfra1 jvm]$ echo $JAVA_HOME
/opt/java
[jenkins@zldinfra1 jvm]$ file /opt/java
/opt/java: symbolic link to `jdk1.8.0_66'

所有快速谷歌导致我应该将我的 JAVA_HOME 更改为所需的 Java 版本。正如您在上面看到的,它设置为 jdk1.8.0_66,但 Maven 使用的是完全不同的路径。

问题: 我如何更改 Maven 的 JAVA_HOME

编辑:

按照@Rottens 的回答,我设法让 maven 运行 jdk1.8.0_66,maven 的 JAVA_HOME 被设置为 /opt/jdk1.8.0_66/jre.

但是,我在尝试部署时仍然遇到以下错误(构建工作正常):

无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project deployTest: Fatal error compiling: invalid target release: 1.7

在POM中编译插件设置如下:

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven.compiler.plugin.version}</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
    </configuration>
</plugin>

在我的 Jenkins 项目配置中,我指定它使用 default JDK 和 Maven Version 3.2.1

刚刚注意到:

Jenkins 中没有出现 Maven 版本 3.0.5(我配置为使用 1.8)。 Jenkins 中出现的版本是 3.2.13.1.13.0.4

最佳答案

一定要检查你的 $PATH 环境变量,我总是在我的 .profile 中设置我的 JAVA_HOME,然后在我的 PATH 变量的开头使用它,所以我总是确定我正在使用我选择的 jdk 版本。像这样的东西:

JAVA_HOME=/opt/java/jdk/jdk1.8_65
export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH

关于java - 设置 Mavens Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33952794/

相关文章:

java - 如何使用参数在 java 中运行 saxon xslt 转换

java - 安卓 : Adding space in between tab layout

linux - LINUX 中计算机的 RAM 值

Maven/Jenkins java.lang.UnsupportedClassVersionError : Unsupported major. 次要版本 51.0

java - 使用变量赋值查找字段/奇怪行为的实例

java - 错误 : [Dagger/MissingBinding] when trying building the project

c++ - 如何知道系统是否刚刚从内存 sleep 中醒来?

php - UTF-8贯穿始终

maven - 如何在 Idea 中加载 kotlin 编译器 (kotlin-compiler-embeddable) 的源代码?

java - 如何将源链接到 Intellij 中的项目,使 tomcat 能够使用类文件? (就像在 eclipse 中一样)