Java - 如何在Java Web Start中获得权限

时间:2011-02-09 16:12:39

标签: java jnlp java-web-start

您成功为我的Java应用程序创建了jar和.jnlp文件,但在运行时遇到了麻烦。使用Java Web Start推出,但我认为我需要做点什么 正常情况下,当我运行它时,它不会要求获得访问文件I / O的HD的权限。

会感谢一些帮助,并建议知道如何获得许可权利,即我必须做的是我必须做的事情,我的所有课程都不确定。错误 我在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

3 个答案:

答案 0 :(得分:7)

您需要签署JNLP文件并配置<security>元素,如上所述here

答案 1 :(得分:6)

将以下内容添加到您的JNLP:

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

这将弹出一个对话框,要求用户为您的应用程序提供必要的权限。

答案 2 :(得分:1)

如果要访问文件系统,则需要更改JNLP文件以包含:

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

这要求您也签署jar文件。

另一种选择是将文件作为资源打包在jar中,而不必完成所有操作。