分发/部署JavaFX应用程序

时间:2009-12-18 09:20:03

标签: javafx

我刚刚在JavaFX中完成了一个小应用程序,并开始思考如何分发它。 我认为这是一个简单的问题,即按下构建按钮并使用其中一个结果文件。

由于某种原因,构建创建:

  
      
  1. 抱怨它的Jar文件在双击时无法找到它的主类。
  2.   
  3. jnlp文件无法说“无法启动应用程序”。
  4.   
  5. 一个html文件,当我在浏览器中打开时,会永远显示一个旋转的java徽标。
  6.   

所有这些让我相信我的Java设置有问题。我怎样才能将这个项目打包出门?

我想要一个可以下载/通过电子邮件发送的文件,双击并轻松运行。没错,不管多么容易。 :)我很确定你可以用Jar文件做到这一点,但我用Netbeans及其构建命令得到的结果非常荒谬。

重要细节:我正在运行Ubuntu Karmic。我已经切换到Sun Java而不是OpenJDK(它似乎非常糟糕地处理JavaFX)但我认为firefox仍在使用OpenJDK。

1 个答案:

答案 0 :(得分:1)

过去,当使用Netbeans创建JavaFX时,我只使用了它创建的jar文件而不是jnlp和html(如果内存正确地为我提供了它指向localhost)。话虽如此,我手工创建.jnlp以便发布到我的服务器。 以下是我在www.ericonjava.com

使用的.jnlp的副本
 <?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”...这应该是您的网址
  2. href =“bubblebreaker / bubblebreaker.jnlp ...服务器上相对路径为.jnlp
  3. jar href =“bubblebreaker / BubbleBreaker.jar”...服务器上相对路径为.jar
  4. application-desc main-class =“bubblebreaker.Test”...包名和类名
  5. 同样在netbeans中构建时...确保右键单击项目选项卡并转到属性部分以设置类似pack200 enabled / Draggable Applet的属性。

    我希望这会有所帮助。