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

时间:2023-03-08 20:49:38
Jenkins 解决Jenkins下java无法运行slave-agent jnlp程序连接Windows Slave主机

解决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

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

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

解决过程

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

结果如下

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

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

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

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

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

怎么办?见第4点

4、解决步骤3中的问题

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

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

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

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

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


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

5、再次运行javaws程序

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

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

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

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


6.1

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

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

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

解决方法:Jenkins
->
”系统管理”
->
“系统设置”,如下,找到“Jenkins
Location”

-> 
“Jenkins
URL”,把其中的URL地址改成jenkins的访问网址

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

备注:

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

2)

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

参考连接:

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