JavaFX离线部署和运行,客户端浏览器可以自动检测并下载安装指定服务器的JRE
2011-04-02 19:22
1131 查看
此文主要说明如何在离线的情况下使用JavaFX程序,以及在没有安装JRE的客户端,如何自动下载并安装指定服务器上的JRE。
(此文是在NetBeans开发工具下进行的,并且由IDE自动生成部署时所需文件)
1、安装JRE(最低需要JRE6 Update10以上)。注意,不同版本的JFX也对应不同的JRE,在离线使用的情况下。比如JFX1.2的离线包在JRE6 12(及以前)上就有问题,JFX1.3最好对应最新的JRE(目前(写这篇文章的时候)比较稳定的是:jre-6u24-windows-i586.exe,并且带有javafx的jar包)。
1、IDE自动生成的/dist 文件夹及内容:
拷贝:*.html , *.jar , _browser.jnlp 以及其他类库、资源文件等,这里就有项目中添加第三方jar包,lib文件夹中。
将拷贝的文件放到你所要部署的服务器上或者项目中。
2、下载相关文件到本地。 http://java.com/js/deployJava.js http://dl.javafx.com/1.3/dtfx.js
http://dl.javafx.com/1.3/javafx-rt.jnlp http://dl.javafx.com/1.3/java-coffee-cup-23x20.png http://dl.javafx.com/1.3/javafx-loading-25x25.gif http://dl.javafx.com/1.3/javafx-loading-100x100.gif http://dl.javafx.com/1.3/webstart.png
下载JFX运行时所需的jar包:即javafx-rt.jnlp文件中的所有JAR包,下载地址就是:http://dl.javafx.com/1.3/ +jar名
下载jre文件:到oracle官方下载 jre-6u24-windows-i586.exe或最新的
deployJava.js文件用于检测JRE的安装和版本,如果未检测到JRE会自动提示并要求安装最新的JRE版本;此文件还需网页允许运行Web Start程序。
dtfx.js文件用于部署JavaFX程序在网页上,并允许网页运行JavaFX程序。
javafx-rt.jnlp就是指定JFX运行时所需的jar包。(操作系统不同,需要的Jar也不同,所以需要下载很多jar到本地)
jre-6u24-windows-i586.exe 就是供客户端下载的指定服务器上的jre
3、修改*.html
<script src="http://dl.javafx.com/1.3/dtfx.js"></script>
加粗部分修改为:相应的服务器地址
4、修改*_browser.jnlp,原文如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/D%3A/NetBeansProjects/Calculator/dist/" href="Calculator_browser.jnlp">
<information>
<title>Calculator</title>
<vendor>Administrator</vendor>
<homepage href="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/D%3A/NetBeansProjects/Calculator/dist/"/>
<description>Calculator</description>
<icon kind="splash" href="http://dl.javafx.com/1.3/splash.png"/>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+"/>
<extension name="JavaFX Runtime" href="http://dl.javafx.com/1.3/javafx-rt.jnlp"/>
<jar href="Calculator.jar" main="true" size="5485242"/>
<jar href="lib/mysql-connector-java-5.1.6-bin.jar" size="690484"/>
<jar href="lib/ezmorph-1.0.6.jar" size="86487"/>
<jar href="lib/json-2.4.jar" size="159123"/>
<jar href="lib/rt.jar" size="49839959"/>
</resources>
<applet-desc name="Calculator" main-class="com.sun.javafx.runtime.adapter.Applet" progress-class="com.javafx.progressbar.ProgressManager" width="200" height="200">
<param name="MainJavaFXScript" value="Main"/>
</applet-desc>
<update check="always"/>
</jnlp>
修改后,如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+">
<information>
<title>Calculator</title>
<vendor>Administrator</vendor>
<description>Calculator</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+"/>
<extension name="JavaFX Runtime" href="http://指定服务器/javafx-rt.jnlp"/>
<jar href="Calculator.jar" main="true" size="5485242"/>
<jar href="lib/mysql-connector-java-5.1.6-bin.jar" size="690484"/>
<jar href="lib/ezmorph-1.0.6.jar" size="86487"/>
<jar href="lib/json-2.4.jar" size="159123"/>
<jar href="lib/rt.jar" size="49839959"/>
</resources>
<applet-desc name="Calculator" main-class="com.sun.javafx.runtime.adapter.Applet" progress-class="com.javafx.progressbar.ProgressManager" width="200" height="200">
<param name="MainJavaFXScript" value="Main"/>
</applet-desc>
<update check="always"/>
</jnlp>
指定服务器 修改为你的相应的URL即可
5、 修改dtfx.js
http://dl.javafx.com/1.3/ 修改为: 指定的服务器地址
'a href="http://java.com/"'+tagEndChar; 修改为: 'a href="http://指定的服务器地址/jre-6u24-windows-i586.exe">';
http://java.com/js/deployJava.js 修改为:http://指定的服务器地址/deployJava.js
http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com 修改为: http://指定的服务器地址/jre-6u24-windows-i586.exe
6、修改deployJava.js
http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com 修改为: http://指定的服务器地址/jre-6u24-windows-i586.exe http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png 修改为: http://指定的服务器地址/webstart.png
id="deployJavaPlugin" width="0" height="0" 修改为:id="deployJavaPlugin" codebase="http://指定的服务器地址/jre-6u24-windows-i586.exe#Version=6,0,240,7" width="0" height="0"
7、修改javafx-rt.jnlp
http://dl.javafx.com/1.3/ 修改为 jar放的位置 如:http://指定的服务器地址/lib/
8、离线运行JavaFX程序(web形式)
通过以上几步的操作,就可以完全脱离互联网而运行JavaFX程序了,并且客户端浏览器自动下载安装指定服务器上jre。
(此文是在NetBeans开发工具下进行的,并且由IDE自动生成部署时所需文件)
1、安装JRE(最低需要JRE6 Update10以上)。注意,不同版本的JFX也对应不同的JRE,在离线使用的情况下。比如JFX1.2的离线包在JRE6 12(及以前)上就有问题,JFX1.3最好对应最新的JRE(目前(写这篇文章的时候)比较稳定的是:jre-6u24-windows-i586.exe,并且带有javafx的jar包)。
1、IDE自动生成的/dist 文件夹及内容:
拷贝:*.html , *.jar , _browser.jnlp 以及其他类库、资源文件等,这里就有项目中添加第三方jar包,lib文件夹中。
将拷贝的文件放到你所要部署的服务器上或者项目中。
2、下载相关文件到本地。 http://java.com/js/deployJava.js http://dl.javafx.com/1.3/dtfx.js
http://dl.javafx.com/1.3/javafx-rt.jnlp http://dl.javafx.com/1.3/java-coffee-cup-23x20.png http://dl.javafx.com/1.3/javafx-loading-25x25.gif http://dl.javafx.com/1.3/javafx-loading-100x100.gif http://dl.javafx.com/1.3/webstart.png
下载JFX运行时所需的jar包:即javafx-rt.jnlp文件中的所有JAR包,下载地址就是:http://dl.javafx.com/1.3/ +jar名
下载jre文件:到oracle官方下载 jre-6u24-windows-i586.exe或最新的
deployJava.js文件用于检测JRE的安装和版本,如果未检测到JRE会自动提示并要求安装最新的JRE版本;此文件还需网页允许运行Web Start程序。
dtfx.js文件用于部署JavaFX程序在网页上,并允许网页运行JavaFX程序。
javafx-rt.jnlp就是指定JFX运行时所需的jar包。(操作系统不同,需要的Jar也不同,所以需要下载很多jar到本地)
jre-6u24-windows-i586.exe 就是供客户端下载的指定服务器上的jre
3、修改*.html
<script src="http://dl.javafx.com/1.3/dtfx.js"></script>
加粗部分修改为:相应的服务器地址
4、修改*_browser.jnlp,原文如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/D%3A/NetBeansProjects/Calculator/dist/" href="Calculator_browser.jnlp">
<information>
<title>Calculator</title>
<vendor>Administrator</vendor>
<homepage href="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/D%3A/NetBeansProjects/Calculator/dist/"/>
<description>Calculator</description>
<icon kind="splash" href="http://dl.javafx.com/1.3/splash.png"/>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+"/>
<extension name="JavaFX Runtime" href="http://dl.javafx.com/1.3/javafx-rt.jnlp"/>
<jar href="Calculator.jar" main="true" size="5485242"/>
<jar href="lib/mysql-connector-java-5.1.6-bin.jar" size="690484"/>
<jar href="lib/ezmorph-1.0.6.jar" size="86487"/>
<jar href="lib/json-2.4.jar" size="159123"/>
<jar href="lib/rt.jar" size="49839959"/>
</resources>
<applet-desc name="Calculator" main-class="com.sun.javafx.runtime.adapter.Applet" progress-class="com.javafx.progressbar.ProgressManager" width="200" height="200">
<param name="MainJavaFXScript" value="Main"/>
</applet-desc>
<update check="always"/>
</jnlp>
修改后,如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+">
<information>
<title>Calculator</title>
<vendor>Administrator</vendor>
<description>Calculator</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+"/>
<extension name="JavaFX Runtime" href="http://指定服务器/javafx-rt.jnlp"/>
<jar href="Calculator.jar" main="true" size="5485242"/>
<jar href="lib/mysql-connector-java-5.1.6-bin.jar" size="690484"/>
<jar href="lib/ezmorph-1.0.6.jar" size="86487"/>
<jar href="lib/json-2.4.jar" size="159123"/>
<jar href="lib/rt.jar" size="49839959"/>
</resources>
<applet-desc name="Calculator" main-class="com.sun.javafx.runtime.adapter.Applet" progress-class="com.javafx.progressbar.ProgressManager" width="200" height="200">
<param name="MainJavaFXScript" value="Main"/>
</applet-desc>
<update check="always"/>
</jnlp>
指定服务器 修改为你的相应的URL即可
5、 修改dtfx.js
http://dl.javafx.com/1.3/ 修改为: 指定的服务器地址
'a href="http://java.com/"'+tagEndChar; 修改为: 'a href="http://指定的服务器地址/jre-6u24-windows-i586.exe">';
http://java.com/js/deployJava.js 修改为:http://指定的服务器地址/deployJava.js
http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com 修改为: http://指定的服务器地址/jre-6u24-windows-i586.exe
6、修改deployJava.js
http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com 修改为: http://指定的服务器地址/jre-6u24-windows-i586.exe http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png 修改为: http://指定的服务器地址/webstart.png
id="deployJavaPlugin" width="0" height="0" 修改为:id="deployJavaPlugin" codebase="http://指定的服务器地址/jre-6u24-windows-i586.exe#Version=6,0,240,7" width="0" height="0"
7、修改javafx-rt.jnlp
http://dl.javafx.com/1.3/ 修改为 jar放的位置 如:http://指定的服务器地址/lib/
8、离线运行JavaFX程序(web形式)
通过以上几步的操作,就可以完全脱离互联网而运行JavaFX程序了,并且客户端浏览器自动下载安装指定服务器上jre。
相关文章推荐
- 当客户端浏览器不支持相应版本的apple时自动下载运行环境JVM的解决办法!
- Microsoft .NET Framework 3.0 运行库发布,可以下载离线安装包
- Android客户端apk自动检测更新自动下载自动安装的实现方法
- 用dos批处理程序检测是否安装.netframework,并自动安装后运行指定程序(.net自启动光盘的制做)
- WPF 浏览器程序 证书制作与客户端自动下载安装
- 当客户端浏览器不支持相应版本的apple时自动下载运行环境jvm的解决办法!
- 用dos批处理程序检测是否安装.netframework,并自动安装后运行指定程序(.net自启动光盘的制做)
- Dos批处理检测NetFramework,并自动安装后运行指定程序(转)
- inno setup 软件安装包 如何可以自动检测、下载并安装.NET环境
- Android开发实践经验谈:如何让各式手机浏览器可以直接下载apk安装文件且实现自动安装APP
- open*** 客户端windows 上自动安装部署脚本
- 51CTO移动客户端可以在线下载安装啦
- 阿里云服务器zabbix3.0客户端自动安装脚本
- visual studio.net已检测到指定的web服务器运行的不是asp.net1.1版。无法运行asp.net web应用程序,打开aspx页面时出现下载情况
- 自动下载网页中图片到服务器指定位置
- 浏览器判断检测手机中是否安装了ios/android客户端程序
- 插入SD卡后自动运行SD卡根目录中的AutoRun.sh以实现动态替换linux logo,init logo和开机动画、安装SD卡中指定目录中的apk到系统中等
- Windows Server2008的客户端自动部署功能WDS P3――WDS的安装
- nc 配置jre浏览器运行客户端程序
- JBoss应用服务器下载和安装部署