目前我正在使用Maven进行java项目。在IDE中使用带有VM选项(-Djava.security.policy = security_policy.txt)设置的netbeans或eclips运行没有问题。
但现在我想在没有ECLIPS / NETBEANS的情况下运行并尝试mvn test
并发现此错误。
java.security.AccessControlException: access denied (java.io.FilePermission D:\Tecforte\LR4\branches\Prototype\LR_V4\Collector\.\config\logging.proper
ties read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
我已经在Eclips中遇到过这个问题,但是当我将-Djava.security.policy=security_policy.txt
放入VM选项时它就解决了。
所以我的问题是......如何使用命令提示符运行以包含安全选项或简短问题...如何避免AccessControlException?
提前致谢
答案 0 :(得分:2)
请参阅systemPropertyVariables(或systemPropertiesFiles),可以在Maven测试插件配置中设置。
示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<systemPropertyVariables>
<someProperty>someValue</someProperty>
</systemPropertyVariables>
</configuration>
</plugin>
这会将系统属性someProperty = someValue传递给您的单元测试。