You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins JNLP Agent连接后立即终止报AccessControlException错误

问题根因

该报错是Open Web Start(OWS)的Java安全沙箱默认限制导致的:JNLP应用默认没有权限读取Jenkins remoting组件依赖的自定义系统属性hudson.util.RingBufferLogHandler.defaultSize,触发AccessControlException后导致类初始化失败,所以Agent刚建立连接就会终止运行。你之前尝试升级/降级JDK、重启机器无效,是因为问题本质和JDK版本、运行环境重启无关,属于权限配置问题。

可行解决方案

按优先级从高到低排列:

  • 方案1:改用命令行直接启动Agent(最稳定,永久规避沙箱限制)
    登录Jenkins Master的节点管理页面,找到对应Windows Agent的配置页,复制官方提供的Agent启动命令,格式如下:
    java -jar agent.jar -jnlpUrl http://<你的Jenkins地址>/computer/<节点名>/jenkins-agent.jnlp -secret <你的节点专属密钥> -workDir "D:\<你的Agent工作目录路径>"
    
    在Windows Agent上把上述命令保存为.bat脚本,直接运行脚本即可启动Agent,无需依赖Open Web Start。如需开机自启,把脚本加入Windows开机启动项即可。
  • 方案2:修改Open Web Start的Java安全策略,放开权限
    1. 找到Open Web Start使用的JDK对应的安全策略文件,默认路径为:C:\Program Files\OpenWebStart\jre\lib\security\java.policy,如果是使用系统安装的JDK启动OWS,则路径为系统JDK目录下的jre\lib\security\java.policy
    2. 编辑该文件,在末尾的grant {块中添加如下配置:
    permission java.util.PropertyPermission "hudson.util.RingBufferLogHandler.defaultSize", "read";
    // 如后续出现其他hudson/jenkins前缀的属性权限报错,可直接添加通配符权限:
    permission java.util.PropertyPermission "hudson.*", "read,write";
    permission java.util.PropertyPermission "jenkins.*", "read,write";
    
    1. 保存文件后重启Open Web Start,重新运行JNLP文件即可。
  • 方案3:关闭Jenkins节点的Web Start安全策略限制
    登录Jenkins Master,进入对应Windows Agent的配置页,找到「启动方法」模块下的高级选项,取消勾选「启用Web Start安全策略」,保存配置后重新启动Agent即可。
验证检查项

配置完成后可先做如下检查:

  • 运行java -version确认当前Windows系统环境变量中配置的JDK版本和你预期使用的版本一致,无多版本JDK冲突
  • 确认启动Agent的Windows账号对Agent工作目录有完整的读写权限

内容的提问来源于stack exchange,提问作者Bilawal Wajid Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:24:08