5

我有一个用于部署 javafx 2.0 应用程序的 jnlp 文件,但是,如何确保用户具有正确的 javafx 运行时(32 位或 64 位,具体取决于机器上的 jvm),如果没有,请下载并运行应用。

假设用户当前没有安装 javafx 运行时,我在使用 32 位、64 位或两者都有 JRE 的 64 位机器时主要面临的问题是:

1) Javafx swing 部署指南提到使用<jfx:javafx-runtime version />标签下载适当的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"/>

代码库会自动更改,以根据架构指向正确的程序文件文件夹。

提前致谢 !

4

1 回答 1

1

您错过了 jnlp 中的 xmlns:jfx 命名空间。它应该从

<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="iMonLauncher.jnlp">

一旦用户安装了常规 java 并单击了此类 jnlp 文件,他将看到 FX 的自动下载消息。它将找出使用的是哪个 java,下载并安装适当的私有 javafx 版本。

jnlp 响应

于 2011-11-23T18:17:01.227 回答