4

RMIアプリケーションを持っているので、ポリシーファイルを使用する必要があります。

私のポリシーファイルは単純です(conf.txt):

grant {
    permission java.security.AllPermission;
};

Eclipseからアプリケーションを実行するのに問題はありません。VM引数に-Djava.security.policy=conf.txtを追加しました。

私がやりたいのは、jarファイルを作成することです。eclipseからRunnableJARファイルとして作成しましたが、実行に問題があります。私はそれを次のように実行しようとします:

java -Djava.security.policy=C:\Users\myuser\proj\conf.txt -jar C:\Users\myuser\proj\proj.jar

-Djava.security.policyオプションがない場合と同じ結果が得られます。

私のコード:

System.setProperty("java.security.policy", "./conf.txt");
...
if (System.getSecurityManager() == null) {
            System.setSecurityManager(new SecurityManager());
        }

どうすればこれを機能させることができますか?-Djava.security.policyを渡す必要がない場合は、さらに良いでしょう。

java -jar myprog.jar
4

1 に答える 1

3

手始めに、System.setProperty("java.security.policy", "./conf.txt");コードを削除します。これは、コマンドラインで設定した値を上書きし、その値にはフルパスが含まれていて、機能する可能性があります。System.setPropertyいずれにせよ、コードに含まれている場合は、そのコマンドラインの効果をテストしていません。

于 2012-04-16T07:10:50.970 に答える