【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

今までeclipseで実行していたものをコマンドプロンプトから実行させたいのですが、
C直下にSystemManagerを置き、
+SystemManager
-conf
test.properties
main.policy
-classes
-com
-sun
-main
-tool
Main.class

C:\SystemManager\classes>java -Djava.security.policy=conf/main.policy com.sun.main.tool.Main

以下のようにアプリケーションを実行すると、アプリケーションは起動しますが、java.security.AccessControlExceptionが発生してしまいます。
-Djava.security.policy=conf/main.policy ←この指定方法だと、ポリシーファイルが見えないようですが、
どのように指定すればうまくいくでしょうか?
ご教授頂ければ幸いです。
よろしくお願い致します。

A 回答 (2件)

参考URLによれば,セキュリティポリシーファイルを指定する例として,



java -Djava.security.manager -Djava.security.policy=pURL SomeApp

が挙げられ,『ここで pURL は、ポリシーファイルの位置を示す URL です』と書かれています。従って右辺値はURLのはずなので,Windowsでもデリミタは'/'で良いのではないかと思います。

ここでは他に,『(-Djava.security.policy=pURLで)セキュリティプロパティファイルで指定されたすべてのポリシーファイルに追加されてロードされます』とあるので,質問の状況は,もしかするとpURLのファイルに書かれている以外のポリシー(=システムポリシーやユーザーポリシー)に違反しているのかもしれません。

これを回避するためには,


次のように、「==」の付いた形を使うと、ここで指定されたポリシーファイルだけがロードされ、他のポリシーファイルは無視されます。

java -Djava.security.manager -Djava.security.policy==pURL SomeApp


とのことです。

また,


注:セキュリティプロパティファイルで policy.allowSystemProperty プロパティに false が設定されている場合は、-Djava.security.policy のポリシーファイルの値は (java コマンドと appletviewer コマンドのどちらの場合も) 無視されます。


とも書いてあるので,ここをチェックしてみる必要もあるかもしれません。

いずれにせよ,詳しい情報は参考URLにあるので,まずここを当ってみてください。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/guide/se …
    • good
    • 0

実行環境がWindowsですよね。



でしたらファイルの指定方法は
conf\main.policyではないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!