如何使用 32 位和 64 位的 jnlp 正确部署桌面 JavaFx 2.0 应用程序?
我有一个用于部署 javafx 2.0 应用程序的 jnlp 文件,但是,如何确保用户具有正确的 javafx 运行时(32 或 64 位,具体取决于计算机上存在的 jvm),如果没有,请下载它并运行应用。
假设用户当前没有安装 javafx 运行时,我在使用 32 位、64 位或两者 JRE 的 64 位机器时面临的问题主要是:
1) Javafx swing 部署指南提到使用
标签来下载适当的 jfx 运行时,但 1.7 以下的 JRE 不理解这一点标签/命名空间。
2)如果在64位机器上安装了32位jre,那么如何将我的应用程序安装到“Program Files(x86)”文件夹,下载并使用32位javafx运行时。
3)如果在64位机器上安装了64位jre,那么如何将我的应用程序安装到“Program Files”文件夹,下载并使用64位javafx运行时。
这是我的 jnlp 文件当前的样子:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"href="iMonLauncher.jnlp">
<information>
<title>iMonLauncher</title>
<vendor>Administrator</vendor>
<homepage href="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"/>
<description>iMonLauncher</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="iMon.jar" size="428419"/>
<jar href="lib/ibase-core.jar" size="197029"/>
<jar href="lib/ibase-fx.jar" size="210175"/>
<jar href="lib/imonDB.jar" main="true" size="156616"/>
<jar href="lib/imon-service.jar" main="true" size="73190"/>
</resources>
<application-desc name="iMon" main-class="imon.Main" >
</application-desc>
<update check="always"/>
代码库会自动更改,以根据架构指向正确的程序文件文件夹。
提前致谢 !
I have a jnlp file for deploying my javafx 2.0 application, however, how do I make sure that the users have the correct javafx runtime (32 or 64 bit depending on the jvm present on the machine) and if not, download it and run the application.
Assuming that the user does not have a javafx runtime currently installed, the problems that I'm facing mostly with a 64 bit machine with either 32-bit, 64-bit or both JRE's are:
1) The Javafx swing deployment guide mentions to use the <jfx:javafx-runtime version />
tag to download the appropriate jfx runtime, but JRE below 1.7 doesn't understand this tag/namespace.
2) If a 32-bit jre is installed on a 64-bit machine, then how do I install my application to the "Program Files(x86)" folder, download and use 32-bit javafx runtime.
3) If a 64-bit jre is installed on a 64-bit machine, then how do I install my application to the "Program Files" folder, download and use 64-bit javafx runtime.
Here is how my jnlp file looks currently:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"href="iMonLauncher.jnlp">
<information>
<title>iMonLauncher</title>
<vendor>Administrator</vendor>
<homepage href="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"/>
<description>iMonLauncher</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="iMon.jar" size="428419"/>
<jar href="lib/ibase-core.jar" size="197029"/>
<jar href="lib/ibase-fx.jar" size="210175"/>
<jar href="lib/imonDB.jar" main="true" size="156616"/>
<jar href="lib/imon-service.jar" main="true" size="73190"/>
</resources>
<application-desc name="iMon" main-class="imon.Main" >
</application-desc>
<update check="always"/>
The codebase changes automatically, to point to the correct program files folder depending on the architecture.
Thanks in advance !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您错过了 jnlp 中的 xmlns:jfx 命名空间。它应该以一旦用户安装了常规 java 并单击此类 jnlp 文件开始
,他将看到 FX 的自动下载消息。它将找出使用的是哪个java,下载并安装适当的javafx版本。
You miss xmlns:jfx namespace in your jnlp. It should starts with
Once user has regular java installed and clicked on such jnlp file he would be presented with automatic download message for FX. It will find out which java is used, download and install approprivate javafx version.