4

我想使用我项目中的策略文件执行 jar 文件。我的政策文件是:

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "D:/aa/bb/test.jar", "read, write, delete, execute";
};*

我的项目在 D:/xx/yy/zz/ 文件夹下,我想在这个项目中执行 test.jar 但我有一个错误:

拒绝访问(java.io.FilePermission <> 执行)

如果我像这样更改策略文件,那没关系:

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "<<ALL FILES>>", "read, write, delete, execute";
};*

但我不想给我的项目所有许可。

而且在项目中我设置了这样的策略文件:

字符串路径="D:\aa\bb\test.jar";

     System.setProperty("java.security.policy","C:\\policy\\"+"test.policy");

     System.setSecurityManager(new SecurityManager());  

有没有人对这种情况说些什么?谢谢...

4

2 回答 2

1

我认为这"D:/aa/bb/test.jar"应该是"D:\\aa\\bb\\test.jar"

在此处查看更多信息http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

于 2013-05-24T18:31:38.980 回答
0

它看起来更像是文件系统安全问题,而不是 java 安全异常,你使用的是 windows 还是 linux?
你使用什么样的文件系统?ext2/3/4 或 NFTS 或 fat32 ?
最重要的是,您是否以管理员权限运行程序,这可能是授予某些文件执行权限所必需的。

于 2012-02-12T09:58:31.713 回答