2011-11-18 14 views
5

मेरे पास javafx 2.0 एप्लिकेशन को तैनात करने के लिए एक jnlp फ़ाइल है, हालांकि, मैं कैसे सुनिश्चित कर सकता हूं कि उपयोगकर्ताओं के पास सही javafx रनटाइम (32 या 64 बिट मशीन पर मौजूद जेवीएम के आधार पर) है और यदि नहीं, तो इसे डाउनलोड करें और आवेदन चलाओ।32 और 64 बिट के लिए jnlp का उपयोग कर डेस्कटॉप JavaFx 2.0 एप्लिकेशन को सही तरीके से कैसे तैनात करें?

यह मानते हुए कि उपयोगकर्ता एक JavaFX क्रम वर्तमान में स्थापित नहीं है, समस्याओं है कि मैं या तो 32-बिट, 64-बिट या दोनों JRE के साथ एक 64 बिट मशीन के साथ ज्यादातर का सामना करना पड़ रहा है कर रहे हैं:

1) Javafx स्विंग परिनियोजन मार्गदर्शिका उपयुक्त jfx रनटाइम डाउनलोड करने के लिए <jfx:javafx-runtime version /> टैग का उपयोग करने का उल्लेख करती है, लेकिन 1.7 से नीचे जेआरई इस टैग/नामस्थान को समझ में नहीं आता है।

2) यदि 64-बिट मशीन पर 32-बिट जेयर स्थापित है, तो मैं अपने प्रोग्राम को "प्रोग्राम फ़ाइलें (x86)" फ़ोल्डर में कैसे इंस्टॉल करूं, 32-बिट javafx रनटाइम डाउनलोड और उपयोग कैसे करूं।

3) यदि 64-बिट मशीन पर 64-बिट जेयर स्थापित है, तो मैं अपने प्रोग्राम को "प्रोग्राम फ़ाइलें" फ़ोल्डर में कैसे इंस्टॉल करूं, डाउनलोड और 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"/> 

codebase स्वतः परिवर्तित वास्तुकला के आधार पर सही प्रोग्राम फ़ाइलों फ़ोल्डर को इंगित करने के लिए,।

अग्रिम धन्यवाद!

उत्तर

1

आप xmlns को याद करते हैं: jfx नेमस्पेस आपके jnlp में। एक बार जब उपयोगकर्ता नियमित जावा स्थापित किया है और इस तरह के jnlp फ़ाइल पर क्लिक किया वह के लिए विदेशी मुद्रा स्वत: डाउनलोड संदेश के साथ प्रस्तुत किया जाएगा है यह होना चाहिए

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

साथ शुरू होता है। यह पता लगाएगा कि जावा का उपयोग किस प्रकार किया जाता है, डाउनलोड करें और अप्रासंगिक जैवफैक्स संस्करण स्थापित करें। मेरी jnlp में jfx` नाम स्थान है, लेकिन मुझे लगता है कि इस नाम स्थान केवल 1.7+ JRE में और JRE के पिछले संस्करणों में नहीं मान्यता प्राप्त है:

jnlp response

+0

मैं 'xmlns इस्तेमाल किया। इसलिए, यदि उपयोगकर्ता के पास 1.6+ है, तो इस नामस्थान पूरी तरह से अनदेखा हो जाता है, बिना सिस्टम पर जावाफक्स स्थापित किया जा रहा है और इसके परिणामस्वरूप एप्लिकेशन लॉन्च नहीं हो रहा है। – Saurabh