AWTPermission Исключение при реализации Автоматического обновления настольного приложения с использованием веб-запуска java - PullRequest
6 голосов
/ 21 октября 2010

Я работаю в настольном приложении, которое обеспечивает онлайн-резервное копирование данных.В моем приложении я пытаюсь реализовать функцию автоматического обновления программного обеспечения.Для этого я использую Java Web Start.Я сделал следующий процесс для использования java web start.

1> создал jar со всеми ресурсами.2> создал файл jnlp как:

      <?xml version="1.0" encoding="UTF-8"?>
     <jnlp spec="1.0+" 
               codebase="http://cmswebusa.com/kapil"
              href="PixelVaultJNLP.jnlp">
                <information>
                        <title>PixelVault</title>
                          <vendor>globussoft</vendor>
                           </information>
                        <resources>
                     <!-- Application Resources -->       
                          <jar href="PixelVault.jar" main="true" />

                     </resources>
                   <application-desc
                   name="PixelVault"
                   main-class="com.pixelvault.systemtray.SysTray">
                   </application-desc>
                   <update check="background"/>
                </jnlp>

, где PixelVault.jar - это jar-файл приложения, расположенного на http-сервере.

, когда я пытаюсь загрузить свое приложение с помощью запуска из командной строкинабрав: javaws, я получаю исключение разрешения AWT как:

java.security.AccessControlException: доступ запрещен "java.awt.AWTPermission"

он говорит "java.awt.AWTPermissionException""accessSystemTray".Я не понимаю, как я могу разрешить моему приложению использовать системный трей.

Пожалуйста, ознакомьтесь с инструкциями по внесению изменений в файл jnlp или внесению любых других изменений в мое приложение.

Я благодарю вас за все ваши ценные предложения, которые помогут мне решить эту проблему.

1 Ответ

2 голосов
/ 22 октября 2010

Чтобы избавиться от этой ошибки:

  • JNLP необходимо будет объявить все разрешения в элементе безопасности.
  • Код должен быть подписан цифровой подписью.

Обратите внимание, что файл JNLP содержит элементы в неправильном порядке.Используйте JaNeLA , чтобы проверить достоверность файла, а также другие аспекты запуска.

...