【发布时间】:2016-08-05 22:48:52
【问题描述】:
当我尝试运行我的 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]
这表明 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"
...
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
...
我尝试使用一个空的 Maven 存储库运行该作业,并准确告诉 Maven 要使用哪个版本,但没有成功。
我这样称呼 Maven:
mvn clean install -X -DskipTests -Dmaven.repo.local=../testrepo -Djava.version=1.7
我是不是做错了什么?
【问题讨论】:
-
您是否尝试过在我们的 POM 文件中为编译器插件显式指定 Java 1.7?
-
@CptBartender 不,我会试试的。
-
@CptBartender 还是同样的错误。