2013-01-07 19 views
6

लॉन्च करता है मैं जेएनएलपी और जावा वेब स्टार्ट के माध्यम से एक एप्लेट लॉन्च कर रहा हूं। मेरी समस्या यह है कि जब पृष्ठ लोड होता है, तो दो जेवीएम दो जावा कंसोल पॉपअप के साथ लॉन्च होंगे और दो "क्या आप इस एप्लिकेशन को चलाने के लिए चाहते हैं?" पॉप अप। इसके अलावा, एप्लेट लोडिंग समाप्त होता है और यहां तक ​​कि मेरे मूल पुस्तकालय भी ठीक से लोड होते हैं। मुझे सच में यकीन नहीं है कि डबल लॉन्चिंग का कारण क्या है।जावा वेब स्टार्ट (जेएनएलपी) के माध्यम से लॉन्च एप्लेट्स

संपादित करें: इसके अलावा, पहले लोड किए गए JVM स्वचालित रूप से लगभग 30-45 सेकंड के बाद बंद हो जाता है।

एचटीएमएल

<script> 
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825}; 
var parameters = {jnlp_href: "tracker-applet.jnlp"}; 
deployJava.runApplet(attributes, parameters, "1.6"); 
</script> 

jnlp

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" href=""> 
    <information> 
     <title>Tracker</title> 
     <vendor>My Vendor</vendor> 
    </information> 
    <resources os="Windows"> 
     <!-- Application Resources --> 
     <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" /> 
     <jar href="tracker_applet.jar" main="true" /> 
     <nativelib href="applets/jacob.jar"/> 
     <nativelib href="applets/com4j.jar"/> 
    </resources> 
    <applet-desc 
     name="Tracker Applet" 
     main-class="com.osgi.swpc.applet.TrackerApplet" 
     width="770" 
     height="825"> 
    </applet-desc> 
    <update check="background"/> 
</jnlp> 
+0

गायब है "var विशेषताएँ ... एक टाइपो या –

+0

हां, यह एक टाइपो था। मैंने यह स्पष्ट करने के लिए प्रश्न संपादित किया है। –

+0

@ जस्टिनस्काइल: क्या यह सभी ब्राउज़रों पर होता है? – haylem

उत्तर

0

ईएमएम ... दिलचस्प सवाल

मैं यकीन है कि क्योंकि वहाँ अधिक जानकारी के संबंध के लिए ठीक होगा नहीं कर रहा हूँ .. लेकिन मेरी पहली नजर में मैं आपको मुख्य श्रेणी डुप्लिकेट इंगित कर सकता हूं:

... जे एस

में
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825}; 

और फिर JNLP

में
main-class="com.osgi.swpc.applet.TrackerApplet" 

तो सिर्फ एक main class attribute के लिए प्रयास करें। अधिमानतः इसे जेएनएलपी में छोड़ दें और फिर से लॉन्च करने का प्रयास करें;


आपको कुछ अतिरिक्त प्रश्न विवरण है, तो टिप्पणी कृपया

रिपोर्ट है कि अगर मदद की

0

मैं सच में यकीन है कि क्या डबल शुभारंभ खड़ी कर रहा है नहीं कर रहा हूँ।

यह जावा के कार्यान्वयन है कि आप प्रयोग कर रहे हैं पर निर्भर करता है, लेकिन ओरेकल JRE का हाल के संस्करण में (सूर्य JRE हुआ करता था), एक WebStart आवेदन होगा:

  • कैश JNLP फ़ाइल
  • संसाधनों की सूची प्राप्त करने के JNLP फाइल पढ़ने इसे डाउनलोड करने के (ये हमारे सामान्य रूप से अपने जार) की जरूरत है
  • हाल ही में डाउनलोड जार
  • जावा लांच का उपयोग कर एक सामान्य जावा आवेदन शुरू करने के लिए एक कमांड का निर्माण आवेदन

(ध्यान दें कि मैं क्या जावा WebStart करता है का पूरा विवरण देने के लिए कोशिश नहीं कर रहा हूँ, लेकिन मैं सिर्फ प्रक्रिया में कुछ अंतर्दृष्टि प्रदान करने का प्रयास करें।)

इस तरह, आप पहली बार एक javaws है निष्पादन योग्य, जो JARs को डाउनलोड करने के लिए बहुत अधिक समय तक चलता है, उसके बाद java निष्पादन योग्य होता है, जो वास्तविक प्रोग्राम निष्पादित करेगा।

0

यदि यह एमएसआईई के साथ होता है, तो बस "स्मार्ट स्क्रीन फ़िल्टर" को अक्षम करने के लिए एक सुझाव जोड़ना चाहते हैं, खासकर उन स्थितियों में जहां कोई धीमी इंटरनेट एक्सेस नहीं है।

जिस स्थिति में विकल्प एमएसआईई संस्करण पर निर्भर करता है, मुझे लगता है कि एमएसआईई 7 में यह सीधे अतिरिक्त मेनू में है, जबकि 9 में यह इंटरनेट विकल्पों में सुरक्षा सेटिंग्स के तहत है।

संबंधित मुद्दे