我正在处理一个行为不良的库(JRuby),它试图读取整个宇宙,然后也无法处理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";
};
但它没有任何区别,所以我怀疑这种${{...}}
语法只适用于代码库。
有没有办法为文件权限做这件事?