Не отвечающее приложение после запуска с JNLP - PullRequest
0 голосов
/ 29 ноября 2010

Я изучаю JNLP и решил попробовать запустить небольшое приложение, созданное с помощью JNLP. Я создал простую программу Java и файл JNLP. Я загружаю как jar-файл, так и jnlp-файл на свой сервер apache вместе с html-файлом для отображения кнопки «Запуск». Это файл jnlp (я не уверен на 100%, верен ли он):

<?xml version="1.0" encoding="UTF-8"?>
  <jnlp spec="1.0+" codebase="http://localhost:8080/" href="example.jnlp">
  <information>
      <title>Example</title>
      <vendor>Dev</vendor>
  </information>
  <resources>
      <!-- Application Resources -->
      <j2se version="1.6+"
            href="http://java.sun.com/products/autodl/j2se"/>
      <jar href="Example.jar" main="true" />

  </resources>
  <application-desc name="Example"
       main-class="main.Example"
       width="600"
       height="600">
   </application-desc>
   <update check="background"/>
  </jnlp>

Вот мой HTML-файл на моем сервере Apache:

<html>
  <head>
    <title>Example</title>
  </head>
  <body>
    <script src="http://www.java.com/js/deployJava.js"></script>
    <script>
      // using JavaScript to get location of JNLP file relative to HTML page
      var dir = location.href.substring(0, location.href.lastIndexOf('/')+1);
      var url = dir + "example.jnlp";
  document.alert(dir);
      deployJava.createWebStartLaunchButton(url, '1.6.0');
    </script>
  </body>
</html>

Проблема в том, что когда я нажимаю кнопку Launch, он спрашивает, хочу ли я запустить example.jnlp. Затем через некоторое время приложение просто открывается, но когда я нажимаю на любую кнопку, они ничего не делают. Это похоже на то, как будто графический интерфейс показывает, но всей лежащей в основе логики нет. Есть идеи, в чем может быть проблема?

1 Ответ

0 голосов
/ 30 ноября 2010

.. Это файл jnlp (я не уверен на 100%, если он правильный): ..

Это не на 100% правильно. Проверьте это, используя JaNeLA . Наибольшую обеспокоенность вызывает HREF «examp.jnlp», который, похоже, не соответствует реальному имени.

.. Вот мой HTML ..

Что также является слишком сложным и, вероятно, недействительным, хотя я сомневаюсь, что здесь проблема. На данный момент запустите JNLP по простой старой HTML-ссылке. Я предполагаю, что вы тестируете компьютер, работающий под управлением Java 1.6+, поэтому на этом этапе файл deployJava.js не требуется.

.. через некоторое время приложение просто открывается, но когда я нажимаю на любую кнопку, они ничего не делают. Это похоже на то, как будто графический интерфейс показывает, но всей лежащей в основе логики нет. Есть идеи, в чем может быть проблема?

Без кода это немного сложно сказать. Но некоторые предварительные вопросы:

  1. Есть ли код ласточка исключения на любом этапе? (Если Итак, исправьте это немедленно!)

  2. Что сообщается в консоли Java при запуске приложения? При отладке важно, чтобы консоль открывалась при каждом запуске апплета Java или приложения JWS. Видимость консоли настраивается через Панель управления Java .

...