Как правильно развернуть настольное приложение JavaFx 2.0, используя jnlp для 32 и 64 бит? - PullRequest
5 голосов
/ 18 ноября 2011

У меня есть файл jnlp для развертывания моего приложения javafx 2.0, однако, как мне убедиться, что пользователи имеют правильное время выполнения javafx (32 или 64-битное в зависимости от jvm, присутствующего на машине), и если нет, загрузите егои запустите приложение.

Предполагая, что у пользователя нет установленной среды выполнения javafx, проблемы, с которыми я сталкиваюсь в основном на 64-битной машине с 32-битной, 64-битной или обеими JRE::

1) В руководстве по развертыванию Javafx swing упоминается использование тега <jfx:javafx-runtime version /> для загрузки соответствующей среды выполнения jfx, но JRE ниже 1.7 не понимает этот тег / пространство имен.

2)Если 32-разрядная версия jre установлена ​​на 64-разрядной машине, как установить приложение в папку «Program Files (x86)», загрузить и использовать 32-разрядную среду выполнения javafx.

3)Если 64-разрядная версия jre установлена ​​на 64-разрядной машине, то как мне установить приложение в папку «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"/>

Кодовая база изменяется автоматически, чтобы указать на правильную папку программных файлов в зависимости от архитектуры.

Заранее спасибо!

1 Ответ

1 голос
/ 23 ноября 2011

Вам не хватает пространства имен xmlns: jfx в вашем jnlp.Он должен начинаться с

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

Как только пользователь установит обычный java-файл и нажмет на такой jnlp-файл, он получит сообщение об автоматической загрузке для FX.Он выяснит, какая java используется, скачает и установит соответствующую версию javafx.

jnlp response

...