如何在启动代理时强制Jenkins 2.107.2使用java-1.8.0?
在Jenkins 2.107.2上启动代理时,我遇到了以下错误,看起来这是一个常见错误,根据我的作业,似乎需要使用1.8启动代理,我安装了1.8,我的/usr/lib/jvm文件夹如下所示,但是当我启动代理时,它仍然使用java 1.7.0,如何强制Jenkins使用1.8启动代理 /usr/lib/jvm 错误:如何在启动代理时强制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
[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可执行文件的路径:
/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,混合模式)