首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在应该使用Java1.7构建的作业中使用Jenkins 2.63?

如何在应该使用Java1.7构建的作业中使用Jenkins 2.63?
EN

Stack Overflow用户
提问于 2017-05-30 16:01:03
回答 4查看 2.6K关注 0票数 3

我们有一个Jenkins作业,它被配置为使用JDK7。在检查日志时,我注意到以下错误:

代码语言:javascript
复制
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编译呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-27 15:03:07

交互是建立在这样的基础上的,Jenkins将尝试了解完成单个模块的情况,以及是否创建了工件和其他一些东西。这是由Jenkins中的EventSpy实现处理的。会引起这样的问题。

票数 1
EN

Stack Overflow用户

发布于 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。

干杯

票数 3
EN

Stack Overflow用户

发布于 2017-12-06 20:56:31

正如您可能知道的那样,Jenkins >= 2.54需要Java8,因此必须使用Java 8启动>=作业

此外,错误消息还为您提供了以下内容:

使用Maven JDK工具链(插件)构建您的maven项目..。

使用该插件将帮助您使用java 8运行jenkins作业,并使用声明的java 7编译项目文件。

我也有同样的问题,就这样解决了。

您可以看到关于这个答案的更多细节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44266942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档