NoClassDefFoundError: Не удалось инициализировать класс com.jidesoft.swing.JideSwingUtilities
Сейчас я работаю над своим старым проектом с использованием библиотек jide, в качестве IDE я использовал netbeans, он прекрасно работает, когда я работал с ним в Windows 7 год назад.
В настоящее время я использую OS X Mavericks и использую netbeans 7.2.1, когда я пытаюсь перетащить компонент из диспетчера палитры, я получил эту ошибку.
Кто-нибудь тоже сталкивался с этим?
РЕДАКТИРОВАТЬ:
Добавлен журнал ошибок:
java.lang.NoClassDefFoundError: Could not initialize class com.jidesoft.swing.JideSwingUtilities
at com.jidesoft.swing.Searchable.installListeners(Unknown Source)
at com.jidesoft.swing.Searchable.<init>(Unknown Source)
at com.jidesoft.swing.ComboBoxSearchable.<init>(Unknown Source)
at com.jidesoft.swing.AutoCompletion.<init>(Unknown Source)
at com.jidesoft.swing.AutoCompletionComboBox.createAutoCompletion(Unknown Source)
at com.jidesoft.swing.AutoCompletionComboBox.initComponents(Unknown Source)
at com.jidesoft.swing.AutoCompletionComboBox.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.netbeans.modules.form.CreationFactory.createDefaultInstance(CreationFactory.java:178)
at org.netbeans.modules.form.RADComponent.createBeanInstance(RADComponent.java:252)
at org.netbeans.modules.form.RADComponent.initInstance(RADComponent.java:191)
at org.netbeans.modules.form.MetaComponentCreator.initComponentInstance(MetaComponentCreator.java:1508)
at org.netbeans.modules.form.MetaComponentCreator.createVisualComponent(MetaComponentCreator.java:975)
at org.netbeans.modules.form.MetaComponentCreator.access$300(MetaComponentCreator.java:79)
at org.netbeans.modules.form.MetaComponentCreator$2.run(MetaComponentCreator.java:286)
at org.netbeans.modules.form.FormLAF$2.run(FormLAF.java:293)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1368)
at org.openide.util.Mutex.readAccess(Mutex.java:327)
at org.netbeans.modules.form.FormLAF.executeWithLookAndFeel(FormLAF.java:276)
at org.netbeans.modules.form.MetaComponentCreator.precreateVisualComponent(MetaComponentCreator.java:283)
at org.netbeans.modules.form.MetaComponentCreator.precreateVisualComponent(MetaComponentCreator.java:306)
at org.netbeans.modules.form.HandleLayer$NewComponentDrag.init(HandleLayer.java:3367)
at org.netbeans.modules.form.HandleLayer$NewComponentDrag.<init>(HandleLayer.java:3359)
at org.netbeans.modules.form.HandleLayer.mouseMoved(HandleLayer.java:2167)
at java.awt.Component.processMouseMotionEvent(Component.java:6550)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3338)
at java.awt.Component.processEvent(Component.java:6274)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4505)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
2 ответа
Вы получаете эту ошибку, потому что ваш код скомпилирован с JDK1.6, а ваша среда выполнения - нет. В моем случае это был JRE1.7
Вы можете исправить это, убедившись, что вы JRE и JDK одинаковые версии.
Для меня я изменил свою конфигурацию запуска eclipse с 1.7 (по умолчанию) на 1.6
NoClassDefFoundError возникает, когда определение класса присутствует во время компиляции, но класс либо отсутствует, либо не инициализирован во время выполнения. Для вашего случая проверьте, если у вас есть версия jide-oss-*.*.*.jar
в вашем классе Если да, то вы можете увидеть дополнительные возможности здесь:
http://javareferencegv.blogspot.com/2013/10/debugging-javalangnoclassdeffounderror.html