fa9*_*a94 11 java maven jenkins
当我尝试运行我的Jenkins Maven作业时,我收到以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project myProject: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
这表明Maven使用Java 1.8但它应该使用Java 1.7.
我在调试模式下运行Maven并显示正确的版本:
...
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven305
Java version: 1.7.0_71, vendor: Oracle Corporation
Java home: /var/lib/jenkins/tools/hudson.model.JDK/JDK_7u71/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-44-generic", arch: "amd64", family: "unix"
...
Run Code Online (Sandbox Code Playgroud)
Jenkins服务器使用Java 1.8运行
...
$ java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
...
$ javac -version
javac 1.8.0_74
...
Run Code Online (Sandbox Code Playgroud)
我试着用一个空的Maven仓库来运行这个工作,然后告诉Maven确切使用哪个版本但是没有成功.
我打电话给Maven是这样的:
mvn clean install -X -DskipTests -Dmaven.repo.local=../testrepo -Djava.version=1.7
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
Tal*_*nac 14
正确的解决方案是将所需的JDK添加到Jenkins全局配置,然后在项目构建配置下专门选择所需的JDK版本/安装.
首先将所需的JDK复制到构建计算机.然后打开Jenkins配置并滚动到"JDK"部分[Jenkins - > Manage Jenkins - > Configure System].将所需的JDK添加到Jenkins.下图是Jenkins配置两个不同JDK的示例.
现在,在项目配置[YourProject - > Configure]下,将有一个新选项.您可以选择所需的JDK来构建项目,如图所示:

"(默认)"图中的JVM是指Jenkins运行的JDK.简单的解决方法是将此JDK更改为项目所需的版本(通过更改Jenkins启动脚本或使用JAVA_HOME).这会奏效.但是,一旦您需要构建两个或更多冲突项目,您仍然需要配置多个JDK.
通过使用类似的步骤,您可以将多个maven安装添加到Jenkins服务器.
我终于知道问题出在哪里了。
我在构建中使用了从 Nexus 服务器下载的另一个模块。有人犯了一个错误,上传了一个与版本控制下的版本不同步的版本。Nexus 上的版本指定了 Java 1.8,但版本控制下的版本指定了 Java 1.7,所以我之前没有注意到。
感谢大家的精彩回答。
| 归档时间: |
|
| 查看次数: |
11471 次 |
| 最近记录: |