设置MavensJava版本
我们正在尝试将所有系统升级到设置MavensJava版本,java,linux,maven,Java,Linux,Maven,我们正在尝试将所有系统升级到jdk1.8.0_66,包括maven(在jenkins上运行) 谷歌带来的所有快速结果是,我应该将我的JAVA\u主页更改为所需的JAVA版本。正如您在上面看到的,它被设置为jdk1.8.0_66,但Maven使用的是完全不同的路径 问题: 如何更改maven的JAVA\u主页 编辑: 在@Rottens回答之后,我设法让maven运行jdk1.8.0_66,maven的JAVA_HOME设置为/opt/jdk1.8.0_66/jre 但是,在尝试部署时,我仍然会遇
jdk1.8.0_66
,包括maven(在jenkins上运行)
谷歌带来的所有快速结果是,我应该将我的JAVA\u主页
更改为所需的JAVA版本。正如您在上面看到的,它被设置为jdk1.8.0_66
,但Maven使用的是完全不同的路径
问题:
如何更改maven的JAVA\u主页
编辑:
在@Rottens回答之后,我设法让maven运行jdk1.8.0_66
,maven的JAVA_HOME
设置为/opt/jdk1.8.0_66/jre
但是,在尝试部署时,我仍然会遇到以下错误(构建工作正常):
未能在project deployTest上执行目标org.apache.maven.plugins:maven编译器插件:3.3:compile(默认编译):致命错误编译:无效目标版本: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>
真的
org.apache.maven.plugins
maven编译器插件
${maven.compiler.plugin.version}
1.7
1.7
在我的Jenkins项目配置中,我指定它使用default
JDK和Maven版本3.2.1
刚刚注意到:
Maven版本3.0.5(我配置为使用1.8)没有出现在Jenkins中。Jenkins中出现的版本是
3.2.1
,3.1.1
和3.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
一定要检查$PATH环境变量,我总是在.profile中设置JAVA_HOME,然后在PATH变量的开头使用它,所以我总是确定我使用的是jdk版本的choice。像这样的事情:
JAVA_HOME=/opt/java/jdk/jdk1.8_65
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
将系统的maven版本从
ApacheMaven 3.0.5
更新为ApacheMaven 3.3.x
或
在您的项目中,pom进行更改以适应以下系统:
<plugin>
<inherited>true</inherited> **//default set to true**
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
true**//默认设置为true**
org.apache.maven.plugins
maven编译器插件
3.0.5
1.7
1.7
将系统的maven版本从ApacheMaven 3.0.5
更新为ApacheMaven 3.3.x
或
在您的项目中,pom进行更改以适应以下系统:
<plugin>
<inherited>true</inherited> **//default set to true**
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0.5</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
true**//默认设置为true**
org.apache.maven.plugins
maven编译器插件
3.0.5
1.7
1.7
通过从Jenkins卸载jdk1.7.0
解决了我的问题,只留下jdk1.8.0
将每个项目显式配置为使用jdk1.8.0
也可以,但这是出于维护原因,而不是我们想要做的
我不知道为什么让Jenkins自动选择jdk1.8.0
进行编译不起作用,但这似乎就是问题所在
此外,我将Maven本身升级到3.3.9
,并将所有使用过的Maven插件升级到各自的最新版本。这并不影响Maven构建。但它确实破坏了我们的蚂蚁构造
我还将Jenkins升级为在Java
1.8
上运行,而不是1.7
,这没有任何效果(除了使编译时间稍微缩短)。我的问题通过从Jenkins卸载jdk1.7.0
得到解决,只留下jdk1.8.0
将每个项目显式配置为使用jdk1.8.0
也可以,但这是出于维护原因,而不是我们想要做的
我不知道为什么让Jenkins自动选择jdk1.8.0
进行编译不起作用,但这似乎就是问题所在
此外,我将Maven本身升级到3.3.9
,并将所有使用过的Maven插件升级到各自的最新版本。这并不影响Maven构建。但它确实破坏了我们的蚂蚁构造
我还将Jenkins升级为在Java
1.8
上运行,而不是1.7
,这没有任何效果(除了使编译时间稍微缩短).您是否检查了/private/etc/mavenrc
和~/.mavenrc
以覆盖JAVA\u主页设置?mvn--v的输出是什么?Maven是否也使用相同的用户jenkins
?很有可能JAVA\u HOME
为您的Maven用户设置了不同的设置。@Patrickmvn--v
输出与mvn-version
@GergelyBacso我现在就来看看,您是否检查了/private/etc/mavenrc
和~/.mavenrc
以覆盖JAVA\u HOME设置?mvn的输出是什么--v?Maven是否也使用相同的用户jenkins
?很有可能JAVA\u HOME
为您的Maven用户设置了不同的设置。@Patrickmvn--v
输出与mvn-version
@GergelyBacso相同的东西,我现在就来看看这似乎有些效果。仍然没有编译,但java版本现在是正确的。@Martin您的运行时也设置为java 8吗?@Patrick根据java-version
它设置为1.8.0\u 66-b17
@Martin我不知道运行时与编译有什么关系。javac-version报告了什么?@Gimbyjavac1.8.0\u66
。构建现在可以工作了,但是尝试执行Maven Release
仍然会给我带来“目标版本无效:1.7”的错误这似乎有些奏效。仍然没有编译,但java版本现在是正确的。@Martin您的运行时也设置为java 8吗?@Patrick根据java-version
它设置为1.8.0\u 66-b17
@Martin我不知道运行时与编译有什么关系。javac-version报告了什么?@Gimbyjavac1.8.0\u66
。构建现在可以工作了,但是尝试执行Maven发布
仍然会给我带来“无效目标发布:1.7”错误