2

JFilechooser を使用してローカル ファイル システムからファイルを参照し、アップロードする署名付きアプレットがあります。Windows と Mac で正常に動作します。しかし、Linux ではエラーAccess Denied (java.util.PropertyPermission user.home read)が表示されます。インターネットで検索したところ、1 つの解決策が見つかりました。それに応じて行いましたが、問題を解決できませんでした。

ホームフォルダー内にファイル .java.policy ファイルを作成しました。

grant codeBase "http://bioinfo.utu.fi/applet/*" {
  permission java.io.FilePermission "/home/raj/-", "read";
  permission java.io.FilePermission "/home/raj/-", "write, delete";
};

「参照」ボタンをクリックしても Linux で JFileChooser ダイアログを表示できませんでしたが、 Exception: Access Denied (java.util.PropertyPermission user.home read)が表示されます。どうすれば Linux で実行できますか? 私はあなたの助けに感謝します。

最近のアップデート:

ターミナルから java.policy ファイルを検索しました

[raj@localhost Desktop]$ locate java.policy
/home/raj/.java.policy
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy

ファイル /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/security/java.policy に次の行を追加しました

grant{
    ...
    ...
    permission java.util.PropertyPermission "user.home", "read";
        permission java.io.FilePermission "/home/raj", "read";
    permission java.io.FilePermission "${user.home}${/}*", "read,write";

    }

いいえ、JFileChoose ダイアログが表示されます。今、私は別の問題を抱えています。アプレットのファイル選択ダイアログで、ホーム ディレクトリのファイルが表示されませんでした。

4

1 に答える 1

-1

問題はもっと深刻なようです...

アプレットではなくローカルユーティリティで user.home を確認しましたか? 「 ?」ですか?または絶対パスのようなものではありませんか?

System.getProperty("user.home") で確認することをお勧めしますが、デスクトップユーティリティを使用してください。

また、32 ビット JDK としてクライアント マシンの問題が発生する可能性もあります。これはよく知られたバグなので、それが問題なのかもしれません。

役立つことを報告してください

于 2011-11-17T20:29:50.503 に答える