我正在使用基于http://platform.netbeans.org/tutorials/nbm-code-completion.html教程的Netbeans插件。当我启动并调试我的插件时,会引发异常:
抛出java.lang.ClassNotFoundException: javax.swing.text.BadLocationException at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在java.lang.ClassLoader.loadClass(ClassLoader.java:356)引起: java.lang.NoClassDefFoundError:javax / swing / text / BadLocationException 在 pl.artpal.hinttest.CodeCompletionProvider $ 1.query(CodeCompletionProvider.java:35) 在 org.netbeans.spi.editor.completion.support.AsyncCompletionTask.run(AsyncCompletionTask.java:223) 在 org.openide.util.RequestProcessor $ Task.run(RequestProcessor.java:1452) [抓住] org.openide.util.RequestProcessor $ Processor.run(RequestProcessor.java:2032)
BadLocationException类是javax.swing.text包的一部分,它应该从rt.jar加载
当然,我的java文件有
import javax.swing.text.BadLocationException;
根据debug-time netbeans命令行,
javax.swing.text.BadLocationException.class
不存在,但是当我尝试时:
Class.forName("javax.swing.text.BadLocationException").getConstructors()[0].newInstance(new Object[] { "a", 1}).toString()
有效。发生了什么事?
Netbeans v7.2.1,JDK 1.7.0_13,JRE7,Win7x64,我的电脑上也有Eclipse。
答案 0 :(得分:0)
当系统资源(内存)较低时,我看到ClassNotFoundException。当它清理异常时就消失了。使新的Class()无限循环可能会引导你到那里。
如果不是这种情况,请参见此处:http://javarevisited.blogspot.com/2011/08/classnotfoundexception-in-java-example.html