我们有一个Jenkins作业,它被配置为使用JDK7。在检查日志时,我注意到以下错误:
ERROR: Invalid project setup: jenkins/security/MasterToSlaveCallable : Unsupported major.minor version 52.0
ERROR: [JENKINS-18403][JENKINS-28294] JDK 'JDK 1.7.0_45' not supported to run Maven projects.
ERROR: Maven projects have to be launched with a Java version greater or equal to the minimum version required by the master.
ERROR: Use the Maven JDK Toolchains (plugin) to build your maven project with an older JDK.
ERROR: Retrying with slave Java and setting compile/test properties to point to /usr/java/jdk1.7.0_45/.在googling搜索之后,似乎在Jenkins本身之间存在一些交互作用。因为Jenkins是用JDK8启动的,而作业是用JDK7启动的,所以似乎会产生这个错误。构建是可以的,因为Jenkins接着使用JDK8进行构建。但实际上我们想用1.7建造这个。
所以问题是:如果我们用JDK8启动Jenkins,我怎样才能让乔布斯在没有这个错误的情况下用JDK7编译呢?
发布于 2017-06-27 15:03:07
交互是建立在这样的基础上的,Jenkins将尝试了解完成单个模块的情况,以及是否创建了工件和其他一些东西。这是由Jenkins中的EventSpy实现处理的。会引起这样的问题。
发布于 2017-06-26 11:43:29
这显然是Jenkins插件Maven集成的一个技术限制。
因为java序列化类是在Jenkins master和Maven Jobs之间交换的,所以用于启动Maven的JVM必须优于或等于为Jenkins Master构建的Java版本。
我怀疑您的Jenkins版本太晚了,需要JDK版本的>= 8。
由于所需的版本为7,您可以使用java 7或8,甚至9。因此,您的构建成功地使用了Java7,即使您的Jenkins是用Java8启动的。
您可以降级您的Jenkins安装,或者将您的所有构建移动到Java8。
干杯
发布于 2017-12-06 20:56:31
正如您可能知道的那样,Jenkins >= 2.54需要Java8,因此必须使用Java 8启动>=作业
此外,错误消息还为您提供了以下内容:
使用Maven JDK工具链(插件)构建您的maven项目..。
使用该插件将帮助您使用java 8运行jenkins作业,并使用声明的java 7编译项目文件。
我也有同样的问题,就这样解决了。
您可以看到关于这个答案的更多细节。
https://stackoverflow.com/questions/44266942
复制相似问题