我尝试创建一个可以在程序中使用的通用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

为什么?

最佳答案

在类路径中找不到您的一个类。特别是GeoGolfObserver,如果我能正确理解您的错误。

检查在类路径中是否对所有类以及它们的相应JAR /类文件都有有效的引用。

关于java - 为什么在类存在时抛出此NoClassDefFoundError?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/628094/

10-13 07:29