您成功为我的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
答案 0 :(得分:7)
您需要签署JNLP文件并配置<security>
元素,如上所述here。
答案 1 :(得分:6)
将以下内容添加到您的JNLP:
<security>
<all-permissions/>
</security>
这将弹出一个对话框,要求用户为您的应用程序提供必要的权限。
答案 2 :(得分:1)
如果要访问文件系统,则需要更改JNLP文件以包含:
<security><all-permissions/></security>
这要求您也签署jar文件。
另一种选择是将文件作为资源打包在jar中,而不必完成所有操作。