JavaFX离线部署和运行的解决办法

     此文主要说明如何在离线的情况下使用JavaFX程序。不明白SUN为什么不搞个JFX运行时包,或者直接包括在JRE里;而是在SUN服务器上下载。如果哪天服务器宕机,我们使用JavaFX程序的人不就惨了。闲话少叙,来看看如何解决这个问题吧。

 

1、安装JRE(最低需要JRE6 Update10以上)。注意,不同版本的JFX也对应不同的JRE,在离线使用的情况下。比如JFX1.2的离线包在JRE6 12(及以前)上就有问题。


2、下载相关文件到本地。
http://java.com/js/deployJava.js
http://dl.javafx.com/1.2/dtfx.js
http://dl.javafx.com/javafx-loading-100x100.gif
http://dl.javafx.com/javafx-loading-25x25.gif
     deployJava.js文件用于检测JRE的安装和版本,如果未检测到JRE会自动提示并要求安装最新的JRE版本;此文件还允许网页运行Web Start程序。
     dtfx.js文件用于部署JavaFX程序在网页上,并允许网页运行JavaFX程序。

3、编辑dtfx.js文件。
     主要是修改此文件中相应的URL为本地或部署服务器的地址,包括三个文件:
http://java.com/js/deployJava.js
http://dl.javafx.com/javafx-loading-100x100.gif
http://dl.javafx.com/javafx-loading-25x25.gif

4、下载相关lib文件到本地。
     相关的JavaFX运行时文件,根据版本和操作系统的不同文件也不同,目前1.2版本windows系统需要三个文件,分别是:
javafx-rt-windows-i586__V1.2.1_b23.jar(http://dl.javafx.com/javafx-rt-windows-i586__V1.2.0_b233.jar)
jogl-natives-windows-i586__V1.1.1a.jar(http://dl.javafx.com/jogl__V1.1.1a.jar)
gluegen-rt-natives-windows-i586__V1.0b06a.jar(http://dl.javafx.com/gluegen-rt__V1.0b06a.jar)
     这三个文件由于要下载到客户端使用,所以需要引用到你的工程内,并与其他库文件一起签名使用。

5、修改JNLP文件和脚本信息。
     如果是以浏览器方式运行,那么修改*_browser.jnlp文件,举例:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+">
  <information>
    <title>test</title>
    <vendor>MyJavaFX</vendor>
    <homepage href=""/>
    <description>test</description>
    <offline-allowed/>
     <shortcut>
       <desktop/>
     </shortcut>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
   <j2se version="1.5+"/>
   <jar href="Test.jar" main="true"/>
   <jar href="lib/gluegen-rt-natives-windows-i586__V1.0b06a.jar"/>
   <jar href="lib/javafx-rt-windows-i586__V1.2.1_b23.jar"/>
   <jar href="lib/jogl-natives-windows-i586__V1.1.1a.jar"/>
  </resources>
  <applet-desc main-class="package.Main"></applet-desc>
</jnlp>

    对应netbeans生成的*_browser.jnlp,其实我们主要就是把

<extension name="JavaFX Runtime" href="http://dl.javafx.com/1.2/javafx-rt.jnlp"/>

换成了本地已经下载好的类文件,这样就避免了运行JavaFX的时候再去服务器上下载。

 

修改引用JavaFX程序的相关文件,举例:

<script src="<%= path%>/dtfx.js"></script>
<script>
  javafx(
    {
      archive: "<%= path%>/Test.jar",
      draggable: true,
      width: 300,
      height: 200,
      code: "package.Main",
      name: "test"
    }
  );
</script>

 这里其实也就是把<script src="http://dl.javafx.com/1.2/dtfx.js">换成了本地的文件。

 

6、离线运行JavaFX程序(web形式)

     通过以上几步的操作,就可以完全脱离互联网而运行JavaFX程序了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值