我创build了一个Java部署规则集,如下所示:
<ruleset version="1.0+"> <rule> <id location="http://hpfweb.mydomain.com/" /> <action permission="run" version="1.6.0_20" /> </rule> <rule> <id location="http://*.mydomain.com" /> <action permission="run" /> </rule> <rule> </ruleset>
我已经创build了一个自签名证书,并将其添加到密钥库以及受信任的证书颁发机构。 我在http://hpfweb.mydomain.com上有一个应用程序需要Java v1.6.20,如果有任何其他版本尝试,则会出错。 当只有这个版本安装在电脑上的应用程序的工作。 但是,如果安装了更新的版本,则不会。 正如你所看到的,我试图强制规则集中的1.6.0_20版本。
我已经通过进入Java控制面板 – >安全性和“查看活动部署规则集”确认部署规则集正在成功应用。 就像你在这里看到的一样。 我还查看了应用程序的Web源代码,所有参考都指向http://hpfweb*链接。
当小程序启动时,我已经提出了任务pipe理器,并确认java.exe启动来自jre6目录。
当安装新版本时,我收到错误“accesscontrolexception – 访问被拒绝(java.awt.AWTPermission.accessEventQueue”)。
您的规则集文件不是有效的xml。 因为最后一个<rule>只是一个开始元素。 End元素缺失。 有效的空XML元素将是<rule /> 。
<ruleset version="1.0+"> <rule> <id location="http://hpfweb.mydomain.com/" /> <action permission="run" version="1.6.0_20" /> </rule> <rule> <id location="http://*.mydomain.com" /> <action permission="run" /> </rule> </ruleset>
看看你的代码的最后3行。 我想你在里面有一个额外的“”。 此外,如果内存服务,则根本不需要第二个规则,因为如果未在规则集中指定版本,则应使用最新规则。