我不想修改我的 java 主目录中的任何内容,但是,我担心有时我的默认 java.policy 文件可能过于宽松。当我使用该选项运行 java 时,有没有办法让我使用指定的策略文件作为唯一的策略文件-Djava.security.manager
?
如果我添加一个-Djava.security.policy=myPolicy.policy
选项,除了默认策略文件之外,它还会使用我的策略文件——这很糟糕,因为看起来默认策略文件中授予的所有权限仍然被授予。
我不想修改我的 java 主目录中的任何内容,但是,我担心有时我的默认 java.policy 文件可能过于宽松。当我使用该选项运行 java 时,有没有办法让我使用指定的策略文件作为唯一的策略文件-Djava.security.manager
?
如果我添加一个-Djava.security.policy=myPolicy.policy
选项,除了默认策略文件之外,它还会使用我的策略文件——这很糟糕,因为看起来默认策略文件中授予的所有权限仍然被授予。
使用 SecurityManager 和默认 Java 安全策略运行,即 $JAVA_HOME/jre/lib/security/java.policy:
java -Djava.security.manager Main
要使用 SecurityManager 并且仅使用您的自定义安全策略(忽略默认的 java 安全策略)运行:
java -Djava.security.manager -Djava.security.policy==security.policy Main
首先使用 SecurityManager 和默认 java 安全策略运行,然后是您的自定义安全策略:
java -Djava.security.manager -Djava.security.policy=security.policy Main
如果您不想要 SecurityManager,那么只需省略 java.security.policy 以避免任何混淆。