如何在Jenkins中指定slave.jar兼容的jdk版本

时间:2018-08-30 00:25:08

标签: jenkins jenkins-slave

我的maven项目对jdk1.7有严格的依赖性。 我有具有jdk 1.8的Jenkins(2.89.4)实例。 当我尝试连接到从站(在此从站配置中指定jdk 1.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 个答案:

答案 0 :(得分:3)

您可以配置作业以使用特定版本的JDK,而不必重新配置代理或弄乱slave.jar

一种方法是使用Jenkins全局工具配置。这是使用Oracle JDK进行设置的基本演练:

  1. 浏览到http://JENKINS_HOME/configureTools/(或管理Jenkins -> **配置全局工具**)
  2. 单击 JDK安装... 按钮
  3. 点击添加JDK
  4. 输入名称(例如JDK 1.7
  5. 从下拉列表中选择适当的JDK版本(例如 Java SE Development Kit 7u80
  6. 选中复选框我同意Java SE开发工具包许可协议
    • 必须选中此框必须才能自动执行下载
  7. 点击页面底部的保存
  8. 浏览以配置您的Maven项目
  9. 在“常规配置”部分中查找 JDK 下拉列表(将在“源代码管理”之前不久)
  10. 从下拉列表中选择新配置的JDK 1.7
  11. 保存

现在,当您运行作业时,它将自动下载,安装和使用7u80 JDK。

如果您已经在代理上安装了JDK(或者想使用Oracle JDK以外的其他工具):回到 Global Tool Configuration 部分,有一个 Add Installer 。强>按钮。

  • 标签留空
  • 命令:
    • 是的,那只是无操作冒号。在帮助中显示:“该命令将始终运行,因此,如果已安装该工具,则应该是快速操作。”
  • 工具主页/opt/jdk1.7.0_80
相关问题