我正在处理一个行为不端的库(JRuby),该库试图读取整个Universe,然后也无法处理SecurityException
,因此根本无法启动。
Caused by: org.jruby.exceptions.RaiseException: (LoadError) library `java' could not be loaded: java.security.AccessControlException: access denied ("java.io.FilePermission" "/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/lib/ant-javafx.jar" "read")
我不介意阅读整个宇宙的JRuby(或其他任何图书馆),所以我想弄清楚如何将这个添加到补助金中。这个jar文件最终出现在java.class.path上,但我无法弄清楚授予权限的规则。
从我过去看到的其他政策文件中提取示例,我一直在尝试这样的事情:
grant {
permission java.io.FilePermission "${{java.class.path}}", "read, execute";
permission java.io.FilePermission "${{java.class.path}}/-", "read, execute";
};
但它没有任何区别,所以我怀疑这个${{...}}
语法仅适用于codeBase。
是否有办法为文件权限执行此操作?