मैं एक जावा जीयूआई एप्लिकेशन को प्राप्त करने के लिए डीबग (ईक्लीप्स पर एफ 11) डीबग करने की कोशिश कर रहा हूं, लेकिन जब एक्लिप्स आईडीई के बाहर एप्लिकेशन ठीक है (कम से कम एक छोटा फिक्स मुझे लागू करने की आवश्यकता है), तो यह उत्पादन करता है जब ग्रहण से शुरू की निम्न अपवाद (या तो F11 या Ctrl + F11):ClassNotFoundException: org.dom4j.DocumentException
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at com.example.myapp.LoginWindow.buildHibernateConfig(LoginWindow.java:178)
at com.example.myapp.LoginWindow.actionPerformed(LoginWindow.java:141)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:191)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2859)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2936)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2928)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2822)
at java.awt.Component.processEvent(Component.java:6074)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:722)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1000)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:865)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:686)
at java.awt.Component.dispatchEventImpl(Component.java:4532)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:668)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:627)
at java.awt.EventQueue$2.run(EventQueue.java:625)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:641)
at java.awt.EventQueue$3.run(EventQueue.java:639)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:638)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 47 more
इस पर मेरे प्रारंभिक खोज में पाया गया कि the dom4j library may be missing लेकिन pom.xml में जोड़ने:
<dependency>
<groupId>net.sourceforge.saxon</groupId>
<artifactId>saxon</artifactId>
<version>9.1.0.8</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
किया नहीं टी हल करें वह समस्या है।
कोई विचार क्यों मुझे यह अपवाद मिल रहा है (केवल ग्रहण से लॉन्च करते समय) और इस समस्या को हल करने के लिए कैसे?
बीटीडब्ल्यू, saxson
निर्भरता केवल इसलिए जोड़ा गया क्योंकि the latest dom4j का उपयोग करने की कोशिश करने के परिणामस्वरूप अनसुलझे निर्भरताएं हुईं। लेकिन चूंकि मैं dom4j 1.6.1
में डाउनग्रेड कर रहा सैक्सन निर्भरता को समाप्त कर सकता है ताकि pom.xml फ़ाइल केवल अब शामिल हैं:
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
क्या यह एक मैवेन एम 2 प्रोजेक्ट या ग्रहण में एक सरल जावा परियोजना है? – anoopelias
@anoopelias हां, यह * एक मैवेन एम 2 प्रोजेक्ट है। इसमें निर्भरता डाउनलोड करने और इसके साथ निर्माण करने में ** ** ** समस्याएं हैं। अजीब। – Withheld
यदि आपके पास कई अन्य निर्भरताएं हैं तो आप ग्रहण में निर्यात आदेश को बदलने का प्रयास कर सकते हैं। Dom4j को सूची में ले जाएं ताकि आपके पास कोई अन्य निर्भरता न हो जिसमें Dom4j का पुराना संस्करण शामिल हो। – jontejj