2012-07-23 79 views
3

我不想在我的java主目錄中修改任何內容,但是,我擔心有時我的默認java.policy文件可能太寬鬆了。當我使用-Djava.security.manager選項運行java時,是否有辦法讓我使用指定的策略文件作爲唯一的策略文件?運行沒有默認java.policy文件的Java安全管理器

如果我添加一個-Djava.security.policy=myPolicy.policy選項,它將使用我的策略文件以及默認策略文件 - 這很糟糕,因爲它看起來像默認策略文件中授予的所有權限仍然被授予。

回答

9

A Common Mistake with Java SecurityManager

java -Djava.security.manager Main

    • 要使用安全管理器和默認的Java安全策略,這 是$ JAVA_HOME/JRE/lib/security中/ java.policy中運行要使用SecurityManager和 只運行您的自定義安全策略(忽略默認的java安全性 政策):

      java -Djava.security.manager -Djava.security.policy==security.policy Main

    • 要使用安全管理器和默認的Java安全策略運行 第一,那麼你的自定義安全策略:

      java -Djava.security.manager -Djava.security.policy=security.policy Main

    • 如果你不想要一個安全管理器,那麼只需將 java.security.policy留出,以避免混淆。

  • +0

    哇......我不會期望能夠工作,所以反直覺地使用==作爲執行者。 – TacB0sS 2017-01-22 07:51:44