为什么在类存在时抛出此NoClassDefFoundError?

时间:2009-03-09 21:22:33

标签: java generics netbeans

我试图创建一个可以在程序中使用的通用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]的行会引发错误:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Common/GeoGolfObserver

为什么?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

<强>固定

通过简单地告诉netbeans对我的应用程序进行干净的重建来解决问题。感谢您的评论。