4

プロジェクトのポリシー ファイルを使用して jar ファイルを実行したいと考えています。私のポリシーファイルは次のとおりです。

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "D:/aa/bb/test.jar", "read, write, delete, execute";
};*

私のプロジェクトは D:/xx/yy/zz/ フォルダーの下にあり、このプロジェクトで test.jar を実行したいのですが、エラーが発生しました:

アクセスが拒否されました (java.io.FilePermission <> 実行)

ポリシー ファイルを次のように変更すれば、問題ありません。

*grant codeBase "file:///D:/xx/yy/zz/-"{
  permission java.io.FilePermission 
    "<<ALL FILES>>", "read, write, delete, execute";
};*

しかし、私は自分のプロジェクトにすべての許可を与えたくありません。

また、プロジェクトでは、次のようにポリシー ファイルを設定します。

文字列パス="D:\aa\bb\test.jar";

     System.setProperty("java.security.policy","C:\\policy\\"+"test.policy");

     System.setSecurityManager(new SecurityManager());  

この状況について何か言う機関はありますか?ありがとう...

4

2 に答える 2

1

"D:/aa/bb/test.jar"これであるべきだと思います"D:\\aa\\bb\\test.jar"

詳細については、こちらを確認してくださいhttp://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

于 2013-05-24T18:31:38.980 に答える
0

Java のセキュリティ例外というよりも、ファイル システムのセキュリティの問題に似ています。Windows と Linux のどちらを使用していますか?
どのようなファイルシステムを使用していますか? ext2/3/4 または NFTS または fat32 ?
そして最も重要なことは、プログラムを管理者権限で実行しているかどうかです。これは、一部のファイルに実行権限を付与するために必要になる場合があります。

于 2012-02-12T09:58:31.713 に答える