3

我正在开发基于http://platform.netbeans.org/tutorials/nbm-code-completion.html教程的 Netbeans 插件。当我启动和调试我的插件时,会引发异常:

java.lang.ClassNotFoundException: javax.swing.text.BadLocationException 在 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 at pl.artpal.hinttest.CodeCompletionProvider$1.query(CodeCompletionProvider.java:35) at org.netbeans。 spi.editor.completion.support.AsyncCompletionTask.run(AsyncCompletionTask.java:223) 在 org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452) [catch] 在 org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)

BadLocationException 类是 javax.swing.text 包的一部分,它应该从 rt.jar 加载

当然,我的java文件有

import javax.swing.text.BadLocationException;

根据调试时 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。

4

1 回答 1

0

当系统资源(内存)不足时,我会看到 ClassNotFoundException。当它清理异常时消失了。无限循环 new Class() 可能会带你到那里。

如果不是这种情况,请参见此处:http: //javarevisited.blogspot.com/2011/08/classnotfoundexception-in-java-example.html

于 2013-05-02T14:23:13.107 回答