2011-04-13 6 views
5

नासा वर्ल्डविंड एसडीके में कुछ उदाहरण हैं जिन्हें मैं चलाने की इच्छा रखता हूं। एसडीके में दिए गए उदाहरणों को चलाने के दो तरीके हैं:नासा वर्ल्डविंड: आप इन अजीब रन टाइम अपवादों को कैसे ठीक करते हैं?

  1. संपूर्ण एसडीके स्रोत फ़ोल्डर का उपयोग करके एक ग्रहण परियोजना बनाएं। सभी worldwind निर्भरता (* .jar और * .dll फ़ाइलें)
  2. जाओ उदाहरण के साथ फ़ोल्डर में करने के लिए
    • बिंदु: src \ gov \ नासा \ worldwind \ उदाहरण।
    • उदाहरण एप्लिकेशनटेम्प्लेट.जावा मुख्य चलाएं।
  3. खाली एक ग्रहण परियोजना बनाएं जो खाली है। सभी worldwind निर्भरता को
    • बिंदु (* .jar और * .dll फ़ाइलें)
    • बिंदु worldwind.jar को
    • फिर कॉपी उदाहरण मेरे ग्रहण परियोजना में फ़ोल्डर।
    • उदाहरण के लिए gov.nasa.worldwind.examples के रूप में सूचीबद्ध सभी संकुल को दोबारा दोहराएं।
    • उदाहरण एप्लिकेशनटेम्प्लेट.जावा मुख्य चलाएं।

मैं सफलतापूर्वक संकलन/कोई त्रुटि के साथ चलाने जब मैं विकल्प (1.) से करते हैं।

जब मैं विकल्प (2.) मैं सफलतापूर्वक संकलन लेकिन मिल चलाने के समय त्रुटियों:

Apr 13, 2011 12:18:35 PM gov.nasa.worldwind.WorldWind createComponent 
SEVERE: Exception while creating World Wind component gov.nasa.worldwind.cache.BasicDataFileStore 
Apr 13, 2011 12:18:35 PM gov.nasa.worldwind.WorldWind createConfigurationComponent 
SEVERE: Unable to create class for configuration key gov.nasa.worldwind.cache.BasicDataFileStore 
Exception in thread "main" java.lang.ExceptionInInitializerError 
    at gov.nasa.worldwind.awt.WorldWindowGLCanvas.<init>(Unknown Source) 
    at Main2.main(Main2.java:15) 
Caused by: java.lang.IllegalStateException: Unable to create class for configuration key gov.nasa.worldwind.cache.BasicDataFileStore 
    at gov.nasa.worldwind.WorldWind.createConfigurationComponent(Unknown Source) 
    at gov.nasa.worldwind.WorldWind.initialize(Unknown Source) 
    at gov.nasa.worldwind.WorldWind.<init>(Unknown Source) 
    at gov.nasa.worldwind.WorldWind.<clinit>(Unknown Source) 
    ... 2 more 
Caused by: gov.nasa.worldwind.exception.WWRuntimeException: Exception while creating World Wind component gov.nasa.worldwind.cache.BasicDataFileStore 
    at gov.nasa.worldwind.WorldWind.createComponent(Unknown Source) 
    ... 6 more 
Caused by: java.lang.NullPointerException 
    at gov.nasa.worldwind.cache.BasicDataFileStore.<init>(Unknown Source) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at java.lang.Class.newInstance0(Unknown Source) 
    at java.lang.Class.newInstance(Unknown Source) 
    ... 7 more 

लाइसेंस और विन्यास प्रबंधन के मुद्दों के कारण, मैं दृढ़ता से विकल्प (2 के साथ जाना पसंद करेंगे।)। क्या किसी को पता है कि ऊपर दिखाए गए इन रन टाइम त्रुटियों को कैसे ठीक किया जाए?

+0

हम्म, अधिकांश मामलों में विकल्प (2) के साथ कोई समस्या नहीं होनी चाहिए जब तक कि अनुवाद के दौरान कुछ याद न हो। मैं यह आपके लिए जांचूंगा और as.s.a.p का जवाब दूंगा क्योंकि मैंने पिछले कुछ महीनों में वर्ल्डविंड पुस्तकालयों के साथ झुका दिया है। – eee

उत्तर

3

ठीक है ..ये मेरी ग्रहण परियोजना के तहत चरण Windows हैं पर्यावरण:

  1. एक नया ग्रहण प्रोजेक्ट बना
  2. lib बनाएँ (एक खाली परियोजना जब तक कि यह है के रूप में src फ़ोल्डर ठीक है) प्रोजेक्ट के तहत फ़ोल्डर ( प्रोजेक्ट फ़ोल्डर की जड़ के नीचे)
  3. आवश्यक पुस्तकालयों और डीएलएल कोमें रखेंlib फ़ोल्डर: gluegen-rt.jar, jogl.jar, worldwind.jar, jogl.dll, gluegen-rt.dll, jogl_awt.dll, jogl_cg.dll
  4. HelloWorlWind.java src फ़ोल्डर में नमूना कॉपी
  5. में lib फ़ोल्डर में सभी जार जोड़े Referenced Libraries पेड़ प्रत्येक जार पर राइट क्लिक करें और द्वारा चयन Build Path > Add to Build Path
  6. दाएँ jogl.jar पर Referenced Libraries पेड़ और Build Path > Configure Build Path पर क्लिक करें। यह Properties संवाद बॉक्स
  7. पॉप अप होगा Properties संवाद बॉक्स में, Libraries tab के पास जाकर विस्तार jogl.jar पेड़
  8. करें Native library location और क्लिक सही पर Edit बटन। यह पॉपअप Native Library Folder Configuration संवाद बॉक्स होगा।
  9. फ़ोल्डर पथ Workspace... बटन पर क्लिक करके पथ के रूप में सेट करें।

फिर, HelloWorlWind.java चलाएं। यह बिना किसी अपवाद के गौरवशाली वर्ल्डविंड अर्थ प्रदर्शित करेगा!

ध्यान दें: कुछ विश्वव्यापी उदाहरण ऐप्स जीयूआई विंडो बंद करने के बाद JVM को समाप्त नहीं करते हैं।

ApplicationTemplate.java काम करने के लिए, आवश्यक निर्भरता कॉपी करने के लिए सुनिश्चित करें:

  • ClickAndGoSelectListener.java
  • LayerPanel.java
1

क्या आप का वर्णन मैं बिल्कुल ऐसा करने से कोई समस्या नहीं विकल्प 2, यह ठीक काम करता है। Worldind Java स्रोत कोड की ताज़ा डाउनलोड की गई प्रति का उपयोग करते समय, आपको Worldind.jar फ़ाइल का उपयोग करने से पहले एंट बिल्ड करना चाहिए। Worldind.jar फ़ाइल हमेशा अद्यतित नहीं होती है और उपयोग किए जाने पर संघर्ष का कारण बन सकती है।

मूल रूप से आप अपने कार्यों से जो वर्णन करते हैं वह यह है: यह स्रोत कोड का उपयोग करते समय काम करता है, और यह संकलित कोड का उपयोग करते समय विफल रहता है।

+0

दिलचस्प ...मुझे आपके सुझावों का प्रयास करना होगा। मैंने माना कि उनके निर्माण प्रणाली ने स्रोत और जार वर्गों को समान होने के लिए मजबूर किया है (यानी मानव त्रुटि को रोकें जहां आपका स्रोत कोड जार वर्गों से अलग है)। –

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