我的maven项目对jdk1.7有很强的依赖性。我有Jenkins(2.89.4)示例,它有jdk1.8。当我试图连接到slave(在这个slave配置中指定jdk1.7)时,启动代理失败,错误如下
Starting slave process: cd "/jenkins" && /opt/jdk1.7.0_80/bin/java -jar slave.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Slave JVM has terminated. Exit code=1
字符串
如果这个从服务器安装了JDK 1.8,则启动代理成功。但是,在这种情况下,我的maven构建失败,因为我的maven项目对JDK 1.7有很强的依赖性。
我想知道是否有一种方法可以在Jenkins示例中指定与JDK 1.7兼容的slave.jar
1条答案
按热度按时间eyh26e7m1#
您可以将作业配置为使用特定版本的JDK,而不是重新配置代理或摆弄
slave.jar
。一种方法是使用Jenkins全局工具配置。下面是使用Oracle JDK设置它的基本演练:
1.浏览到http://JENKINS_HOME/configureTools/(或管理Jenkins->配置全局工具)
1.单击JDK安装...按钮
1.点击【添加JDK】
1.输入名称(类似于
JDK 1.7
)1.从列表中选择适当的JDK版本(如Java SE Development Kit 7 u80)
JDK 1.7
*保存
现在,当您运行作业时,它将自动下载、安装和使用
7u80
JDK。如果您已经在代理上安装了JDK(或希望使用Oracle JDK以外的其他工具):在全局工具配置部分中,有一个添加工具按钮。
标签: 不填 *
*命令:
:
*工具首页:
/opt/jdk1.7.0_80