Java - Как получить разрешение в Java Web Start - PullRequest
3 голосов
/ 09 февраля 2011

Привет удалось создать файлы jar и .jnlp для моего Java-приложения, но при его запуске возникли проблемы.Хорошо запускается с Java Web Start, но я думаю, что мне нужно сделать что-то дополнительное, как обычно, когда я запускаю его, он не запрашивает разрешение на доступ к 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 ]

7 голосов
/ 09 февраля 2011

Вам необходимо подписать файл JNLP и настроить элемент <security>, как обсуждено здесь .

6 голосов
/ 09 февраля 2011

Добавьте в свой JNLP следующее:

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

Откроется диалоговое окно с просьбой дать пользователю необходимые разрешения для вашего приложения.

1 голос
/ 09 февраля 2011

Если вы хотите получить доступ к файловой системе, вам нужно изменить свой файл JNLP, включив в него:

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

Для этого также необходимо подписать файлы JAR.

Другой вариант заключается вупакуйте файл в jar как ресурс, и вам не нужно все это делать.

...