2013-02-13 14 views
5

थ्रेड में मुख्य "java.lang.UnsisfisfiedLinkError: में gluegen-rt java.library.path java.lang.ClassLoader.loadLibrary पर gluegen-rt नहीं मिला (ClassLoader.java:1860) java.lang.Runtime.loadLibrary0 (Runtime.java:845) java.lang.System.loadLibrary (System.java:1084) com.jogamp.gluegen.runtime.NativeLibLoader पर comload.jogamp.gluegen.runtime.NativeLibLoader $ 1.run (NativeLibLoader.java:70) java.security.AccessController.doPrivileged (मूल विधि) com.jogamp.gluegen.runtime.Nat पर iveLibLoader.loadGlueGenRT (NativeLibLoader.java:68) com.jogamp.common.jvm.JVMUtil पर। (JVMUtil.java:56) javax.media.opengl.GLProfile पर। (GLProfile.java:1051) HelloWorld पर। मुख्य (HelloWorld.java:14)जॉग अपवाद- java.library.path

इसलिए जब भी मैं एक ट्यूटोरियल JOGL फ़ाइल चलाने की कोशिश करता हूं तो मुझे यह सुंदर अपवाद मिलता है। मैंने सख्त कोशिश की है जो मैं कर सकता था। सहित jogl और gluegen के लिए सभी संभव पुस्तकालयों जोड़ना:

jogl.jar jogl.all.jar jogl मूल निवासी macosx

सब कुछ के लिए gluegen मूल निवासी gluegen और jogle मूल निवासी है, और यह कहते हैं कोई gluegen है कि वहाँ लाइब्रेरी हालांकि स्पष्ट रूप से है। -मैंने कहीं jnilib फाइलों के बारे में पढ़ा और उन्हें जार फ़ाइलों के साथ फ़ोल्डरों में डालने की कोशिश की, लेकिन अभी भी कोई भाग्य नहीं है।

मैं रास्ते से ग्रहण का उपयोग कर रहा हूं।

+0

क्षमा करें, लेकिन जेएजीएल और ग्लूजेन दोनों के लिए जावा लाइब्रेरी युक्त जेएआर की तुलना में उसी पुस्तकालय में मूल पुस्तकालयों को रखने वाले जारों को बहुत अच्छी तरह से काम करता है, मैंने मैक ओएस एक्स 10.6.8 के तहत भी परीक्षण किया। हालांकि, आपको ग्लूजेन-आरटी जार की आवश्यकता है, ग्लूजन नहीं, शायद आपने यह गलती की हो। – gouessej

उत्तर

-1

ओएस को बताया जाना चाहिए कि जब यह एप्लिकेशन चलाने की कोशिश करता है तो ग्लूजेन-आरटी देशी लाइब्रेरी कहां मिलती है, जिसे आप उचित पर्यावरण चर सेट करने के लिए ग्रहण में "रन कॉन्फ़िगरेशन" संपादित करके कर सकते हैं। मैं लिनक्स पर विकसित करने, और मेरे लिए चरणों

  • परियोजना अन्वेषक
  • के रूप में चलाने के लिए चयन करें में मुख्य वर्ग पर राइट क्लिक करें हैं -> भागो विन्यास ...
  • पर्यावरण टैब का चयन करें
  • क्लिक "नया ..."
  • दर्ज नाम: LD_LIBRARY_PATH और मान: /usr/lib64/jogl:/usr/lib64/gluegen
  • क्लिक "ठीक है", "लागू करें", "रन"

मैक ओएसएक्स पर आपको शायद या DYLD_LIBRARY_PATH का उपयोग LD_LIBRARY_PATH के बजाय करना होगा, और जॉगएल और ग्लूजेन पुस्तकालयों का स्थान अलग-अलग होगा। ये मूल पुस्तकालय वाली निर्देशिका हैं, जिनके नाम लिनक्स पर .so में समाप्त होने वाले नाम हैं और मैक ओएसएक्स पर .jnilib पर विश्वास करता हूं।

+0

यह जॉग 2 के साथ सबसे अच्छा अभ्यास नहीं है: http://stackoverflow.com/a/25136112/458157 इसके बजाय जावा पुस्तकालयों वाले जारों की तुलना में मूल पुस्तकालयों को मूल पुस्तकालयों को एक ही निर्देशिका में रखें और यह बिना काम किए काम करेगा पुस्तकालय पथ को संशोधित करने के लिए जो विशेष रूप से नए लोगों के लिए प्रवण बहुत कम त्रुटि है। – gouessej

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