【问题标题】:Why is this NoClassDefFoundError being thrown when the class exists?为什么当类存在时会抛出这个 NoClassDefFoundError ?
【发布时间】:2009-03-09 21:22:32
【问题描述】:

我尝试创建一个可以在我的程序中使用的通用 Observable 类:

public class GeoGolfObserver<T> extends Observable
{
    public GeoGolfObserver()
    {
        super();
    }

    public void passObject(T object)
    {
        setChanged();
        notifyObservers(object);
    }
}

它是使用以下方法创建的:

GeoGolfObserver<Cache> cacheObserver = new GeoGolfObserver<Cache>(); // [1]
cacheObserver.addObserver(this);
new CreateCache(cacheObserver).setVisible(true);

这是传递给 CreateCache 类的构造函数的:

public CreateCache(GeoGolfObserver<Cache> cacheObserver) {
    initComponents();
    bindList();
    this.cacheObserver = cacheObserver;
}

但是,上面标记为 [1] 的行会引发错误:

线程“AWT-EventQueue-0”中的异常 java.lang.NoClassDefFoundError: Common/GeoGolfObserver

为什么?

【问题讨论】:

    标签: java generics netbeans


    【解决方案1】:

    在类路径中找不到您的一个类。具体来说,GeoGolfObserver,如果我正确理解您的错误。

    检查您在类路径中是否有对所有类的有效引用,以及它们各自的 JAR/类文件。

    【讨论】:

    • 也许他的意思是 javah 自带的 Observable 接口
    【解决方案2】:

    已修复

    通过简单地告诉 netbeans 对我的应用程序进行干净的重建来解决问题。感谢你们的 cmets 伙计们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2012-06-10
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      • 2014-10-09
      • 2019-12-03
      相关资源
      最近更新 更多