Java策略文件无法为代码基jar分配权限
我已经编写了我的java策略文件,以便为jar(比如“xyz.jar”)授予所有权限 但是在执行程序时,我得到了一个属性权限的AccessControlException。此属性由jar中的类设置 执行策略调试时,以下是条目:Java策略文件无法为代码基jar分配权限,java,security,permissions,codebase,Java,Security,Permissions,Codebase,我已经编写了我的java策略文件,以便为jar(比如“xyz.jar”)授予所有权限 但是在执行程序时,我得到了一个属性权限的AccessControlException。此属性由jar中的类设置 执行策略调试时,以下是条目: policy: evaluate codesources: Policy CodeSource: (file:/C:/path/lib/xyz.jar <no signer certificates>) Active CodeSource: (
policy: evaluate codesources:
Policy CodeSource: (file:/C:/path/lib/xyz.jar <no signer certificates>)
Active CodeSource: (file:/C:/path/lib/log4j-1.2.9.jar <no signer certificates>)
policy: evaluation (codesource) failed
策略:评估代码源:
策略代码源:(文件:/C:/path/lib/xyz.jar)
活动代码源:(文件:/C:/path/lib/log4j-1.2.9.jar)
策略:评估(代码源)失败
及
策略:评估代码源:
策略代码源:(null)
活动代码源:(文件:/C:/path/lib/xyz.jar)
政策:评估校长:
策略负责人:[com.abc.MyLoginModule/principalA]
主动主体:[]
策略:评估(主体)失败
哪里出错了?尝试将jar文件的完整路径放入策略文件中。我不确定它会在哪里找到lib/xyz.jar相对于。“我错在哪里?”我会说,就在此时,您决定使用策略文件,而不是对需要信任的代码进行数字签名。(该死的)教程过于关注策略文件。开发人员很难正确使用它们,因此终端用户不应该修改它们。对于我一年前维护的一个小程序,它需要一个“AllPermission”策略文件来运行报告,我们实际上必须通过电子邮件向他们发送策略文件,并说明如何放置它。这一切感觉都错了。他们总是把事情搞砸。@user53300-路径是正确的,如调试条目所示(在我的查询中没有提到确切的路径)。那么你有没有找到解决方案?我很想知道,因为我面临着类似的问题。谢谢
policy: evaluate codesources:
Policy CodeSource: (file:/C:/path/lib/xyz.jar <no signer certificates>)
Active CodeSource: (file:/C:/path/lib/log4j-1.2.9.jar <no signer certificates>)
policy: evaluation (codesource) failed
policy: evaluate codesources:
Policy CodeSource: (null <no signer certificates>)
Active CodeSource: (file:/C:/path/lib/xyz.jar <no signer certificates>)
policy: evaluate principals:
Policy Principals: [com.abc.MyLoginModule/principalA]
Active Principals: []
policy: evaluation (principals) failed