如何在启动代理时强制Jenkins 2.107.2使用java-1.8.0?

如何在启动代理时强制Jenkins 2.107.2使用java-1.8.0?,java,jenkins,jenkins-plugins,jenkins-pipeline,Java,Jenkins,Jenkins Plugins,Jenkins Pipeline,在Jenkins 2.107.2上启动代理时,我遇到了以下错误,看起来这是一个常见错误,根据我的作业,似乎需要使用1.8启动代理,我安装了1.8,我的/usr/lib/jvm文件夹如下所示,但是当我启动代理时,它仍然使用java 1.7.0,如何强制Jenkins使用1.8启动代理 /usr/lib/jvm 错误: [05/02/18 10:17:59] [SSH] Starting sftp client. [05/02/18 10:17:59] [SSH] Copying latest s

在Jenkins 2.107.2上启动代理时,我遇到了以下错误,看起来这是一个常见错误,根据我的作业,似乎需要使用1.8启动代理,我安装了1.8,我的/usr/lib/jvm文件夹如下所示,但是当我启动代理时,它仍然使用java 1.7.0,如何强制Jenkins使用1.8启动代理

/usr/lib/jvm

错误:

[05/02/18 10:17:59] [SSH] Starting sftp client.
[05/02/18 10:17:59] [SSH] Copying latest slave.jar...
[05/02/18 10:17:59] [SSH] Copied 762,466 bytes.
Expanded the channel window size to 4MB
[05/02/18 10:17:59] [SSH] Starting slave process: cd "/home/username" && /usr/lib/jvm/java-1.7.0-openjdk-amd64/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:803)
    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
[05/02/18 10:17:59] Launch failed - cleaning up connection
[05/02/18 10:17:59] [SSH] Connection closed

您可以通过配置为节点设置JAVA_HOME环境变量

  • 点击管理詹金斯
  • 单击管理节点
  • 选择运行生成的节点
  • 单击配置
  • 向其添加环境变量(JAVA_HOME)

  • 您可以在节点启动配置中显式设置java可执行文件的路径:

  • 点击管理詹金斯
  • 单击管理节点
  • 单击要启动的节点
  • 单击配置
  • 在“启动方法”下有一个标记为“高级”的按钮。;点击它
  • 找到选项JavaPath,并将其设置为要使用的java可执行文件的完整路径;比如:

    /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java
    
  • 拯救

  • 重新启动节点

  • 我添加了带值的JAVA_HOME HOME变量
    /usr/lib/jvm/JAVA-1.8.0-openjdk-amd64
    ,它仍然选择
    /usr/lib/jvm/JAVA-1.7.0-openjdk-amd64/bin/JAVA
    ,您是否在从节点属性中添加了JAVA_HOME?您是否在设置属性后重新启动了从属服务器?您是否能够登录到该节点(最好以Jenkins尝试使用的同一用户的身份登录)?如果是,那么:
    command-vjava的输出是什么;ls-al$(命令-vjava);echo$JAVA_HOME;java-version
    @bto-输出为
    /usr/bin/java-lrwxrwx 1 root root 2016年9月26日/usr/bin/java->/etc/alternations/java-openjdk version“1.8.0_111”openjdk运行时环境(构建1.8.0_111-8u111-b14-3~12.04-b14)openjdk 64位服务器虚拟机(构建25.111-b14,混合模式)