解决Jenkinsjava无法运行slave-agent jnlp程序连接Windows Slave主机


by:授客 QQ1033553122

 

测试环境

 

 

java下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html

 

Jenkins war 1.642

 

Win7 64位

 

问题描述

cmd窗口下运行程序javaws程序,如下:

javaws http://192.168.1.10:8082/jenkins/computer/192.168.9.98/slave-agent.jnlp

 

结果如下,提示“无法启动该应用程序”,点击详情后提示如下,无法加载指定的文件

 

jnlp无法加载资源 jnlp无法加载指定的文件_jnlp无法加载资源

 

 

解决过程

1、直接在浏览器中访问以下网址

http://192.168.1.10:8082/jenkins/computer/192.168.9.98/slave-agent.jnlp

 

结果,提示没有权限,找相关人员开放权限后重试,发现可以下载slave-agent.jnlp

 

2、试着不通过url方式,直接运行下载到本地的salve-agent.jnlp,

C:\Users\yunnex>javaws F:\Download\slave-agent.jnlp

 

结果如下

jnlp无法加载资源 jnlp无法加载指定的文件_运维_02

 

如上,通过提示,可看到安装jdk中自带jar版本过低(当时安装java jdk 1.6)

 

3、卸载老版本java,jdk,并安装1.8.0_91版本的jdk,重试

结果如下,提示“应用程序已被Java安全阻止”

jnlp无法加载资源 jnlp无法加载指定的文件_jnlp无法加载资源_03

 

 

 

怎么办?见第4点

 

4、解决步骤3中的问题

解决方法:如下,打开“控制面板 -> 程序 -> Java”

jnlp无法加载资源 jnlp无法加载指定的文件_jnlp无法加载资源_04

 

 

 

打开“安全”选项卡,点击“编辑站点列表”,打开弹窗中添加例外站点,如下

 

jnlp无法加载资源 jnlp无法加载指定的文件_java_05

 

 

Jenkins <wbr>解决Jenkins下java无法运行slave-agent <wbr>jnlp程序连接Windows <wbr>Slave主机


注意:这里站点必须包含host及对应的端口,且遵守上述形式

 

5、再次运行javaws程序

jnlp无法加载资源 jnlp无法加载指定的文件_Jenkins_07

 

 

 

结果,提示如下,勾选“我接受风险……”复选框,点击“运行”,结果成功了

 

jnlp无法加载资源 jnlp无法加载指定的文件_操作系统_08

 

 

6、其它可能会遇到的问题

6.1 防火墙未开放对应端口,会造成无法连接

 

6.2 运行jnlp文件时,请求的地址和jenkins的访问地址不一样

jnlp无法加载资源 jnlp无法加载指定的文件_Jenkins_09

 

 

 

解决方法:Jenkins -> ”系统管理” -> “系统设置”,如下,找到“Jenkins Location” ->  “Jenkins URL”,把其中的URL地址改成jenkins的访问网址

jnlp无法加载资源 jnlp无法加载指定的文件_Jenkins_10

 

 

 

备注:

1)这个问题是笔者使用虚拟机,更改jenkins访问地址和端口后遇到的

2) 如果这样改后还不行,用notepad等工具打开下载的jnlp文件,编辑替换对应ip和端口。

 

 

参考连接:

http://java.com/zh_CN/download/help/jcp_security.xml