【发布时间】:2013-02-08 23:21:29
【问题描述】:
我正在开发基于 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 在 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;
根据调试时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。
【问题讨论】:
标签: java plugins netbeans classloader