Распространение / развертывание приложений JavaFX - PullRequest
0 голосов
/ 18 декабря 2009

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

По какой-то причине build создает:

  1. Файл Jar, который жалуется, что не может найти свой основной класс при двойном щелчке.
  2. Файл jnlp, который не может сказать "невозможно запустить приложение".
  3. HTML-файл, который при открытии в моем браузере показывает вращающийся логотип Java навсегда.

Все это наводит меня на мысль, что с настройкой Java что-то не так. Как я могу получить этот проект в готовом виде?

Я хотел бы иметь один файл, который можно загрузить / отправить по электронной почте, дважды щелкнуть и запустить без суеты. Если не считать того, что легко. :) Я уверен, что вы можете сделать это с файлом Jar, но то, что я получаю с Netbeans и его командой сборки, довольно нелепо.

Важные детали: я использую Ubuntu Karmic. Я переключился на Sun Java вместо OpenJDK (который, похоже, очень плохо работает с JavaFX), но я думаю, что Firefox все еще использует OpenJDK.

1 Ответ

1 голос
/ 22 декабря 2009

В прошлом, когда я использовал Netbeans для создания JavaFX, я использовал только созданные jar-файлы, а не jnlp и html (если память мне правильно показывает, это указывает на localhost). С учетом сказанного я вручную создаю .jnlp для публикации на моем сервере. Ниже приведена копия файла .jnlp, который я использую на www.ericonjava.com

 <?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://www.ericonjava.com/" href="bubblebreaker/bubblebreaker.jnlp">
<information>
    <title>Bubble Breaker</title>
    <vendor>www.ericonjava.com</vendor>
    <homepage href="http://www.ericonjava.com"/>
    <description>Bubble Breaker</description>
    <offline-allowed/>
</information>
    <j2se href="http://java.sun.com/products/autodl/j2se" version="1.6+"/>
<property name="jnlp.packEnabled" value="true"/>
    <extension name="JavaFX Runtime" href="http://dl.javafx.com/1.1/javafx-rt.jnlp"/>
      <jar href="bubblebreaker/BubbleBreaker.jar" main="true"/>
</resources>
<application-desc main-class="bubblebreaker.Test"/>

Важными элементами тега являются:

  1. codebase = "http://www.ericonjava.com" ... Это должен быть ваш URL
  2. href = "bubblebreaker / bubblebreaker.jnlp ... относительный путь на вашем сервере к .jnlp
  3. jar href = "bubblebreaker / BubbleBreaker.jar" ... относительный путь на вашем сервере к .jar
  4. application-desc main-class = "bubblebreaker.Test" ... имя пакета и имя класса

Также при сборке в NetBeans ... убедитесь, что вы щелкнули правой кнопкой мыши на вкладке проекта и перейдите в раздел свойств, чтобы установить свойства, такие как pack200 enabled / Draggable Applet.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...