根据http://ant.apache.org/manual/Tasks/java.html上权限参数的定义,我看到了:
如果启用了fork,将忽略设置。
然而,这导致我的一个单元测试(使用PowerMock)在运行ant时失败。有没有办法改写这个?设置fork =“no”会导致jvm耗尽内存,并且增加permgen大小并不能解决这个问题。
答案 0 :(得分:0)
看来这可以通过在ant目标中指定安全策略作为jvm参数来完成:
<jvmarg value="-Djava.security.manager" />
<jvmarg value="-Djava.security.policy=tests/unit/security.policy" />
在 security.policy 文件中,我们可以单独授予权限,例如
grant{
permission java.lang.RuntimePermission "setContextClassLoader";
};