2011-02-09 13 views
3

Javaアプリケーション用のjarファイルと.jnlpファイルを作成することができましたが、実行時に問題が発生しました。 Java Web Startでは正常に起動しますが、通常は実行時に を余分に実行する必要があると思うので、ファイルI/O用のHDにアクセスする許可を求めません。Java - Java Web Startでアクセス権を取得する方法

権限を取得するために何をすべきかを知っていれば助かります。つまり、私のクラスすべてに対して何をしなければならないかということです。 Java Web Startで受け取ったエラー のメッセージは次のとおりです。

Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: 
    access denied (java.io.FilePermission StockDatabase;Stocks.dat read) 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkRead(Unknown Source) 
    at java.io.File.exists(Unknown Source) 
    at StockCodeDatabase.<init>(OptraderSA.java:782) 
    at OptraderSA.actionPerformed(OptraderSA.java:136) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.AbstractButton.doClick(Unknown Source) 
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) 
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unkno 

答えて

7

あなたはhereが述べたように、あなたのJNLPファイルに署名し、<security>要素を設定する必要があります。

+0

こんにちはトロイの木馬、あなたの助けを借りて - もう一度! adnansとTrashgodによってアドバイスされた要素が追加されましたが、まだ動作しません。JNLPに署名するにはどうすればよいですか? – Kurt

+0

@Kurt:私の喜び。これを確認してください:http://download.oracle.com/javase/tutorial/deployment/jar/signindex.html – trojanfoe

+0

ありがとうトロイの木馬はこれを見るでしょう。あなたは本当にあなたのことを知っています。 – Kurt

6

は、あなたのJNLPに以下を追加します。

<security> 
    <all-permissions/> 
</security> 

これはインクルードアプリに必要な許可を与えるユーザーに尋ねるダイアログをポップアップ表示されます。

+0

あなたはスターです - アドナンに感謝します。 – Kurt

+1

今すぐアプリケーションに署名する必要があります。 – Tomasz

1

あなたが含まれるように、あなたのJNLPファイルを変更する必要があるファイルシステムにアクセスしたい場合:

<security><all-permissions/></security> 

これはまた、あなたのjarファイルに署名する必要があります。

もう1つの方法は、ファイルをjarファイル内にリソースとしてパッケージ化し、すべてを行う必要はありません。

関連する問題