【问题标题】:Netbeans plugin ClassNotFoundException for existing class现有类的 Netbeans 插件 ClassNotFoundException
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      相关资源
      最近更新 更多