我正在使用eclipse开发我的应用程序。在我的应用程序中,我有几个项目,这些项目在EAR项目中有引用。
在其中一个项目中,我已经为该接口创建了一个接口和实现。
我正在尝试删除该类的对象
MyInterface myObj = new MyClass();
它不工作,所以我在调试模式下启动了服务器。我去叫NoClassDefFoundError
。
你知道为什么我会得到这个错误吗?我已经在我的项目构建路径中添加了新项目。如果我写
MyInterface myObj = null;
我没有得到任何错误。
发布于 2011-01-19 15:51:32
检查您在Eclipse中运行的运行时配置所使用的类路径,它通常由项目库和源文件夹定义。
因为您使用的是EAR,所以您可能会使用应用服务器,并且需要知道它们中的大多数都使用每个ear或war的一个父类加载器和一个子类加载器。这意味着,如果父类加载器加载的类试图实例化一个仅在子类加载器中的类,您将得到一个NoClassDefinedError (反过来,您不会这样做)。
发布于 2012-08-03 17:58:26
这就发生在我身上。问题不在于类路径中缺少"MyClass“。在我的例子中,缺少的是MyClass内部的一个依赖项(即导入),当调用构造函数时,它会失败。
检查我的相关问题和答案:Class Constructor fails throwing Exception on Class Loading,以及前面的问题,即我所有问题开始的时间:Weird behavior with Constructor and Class. Application hangs forever
on Constructor
https://stackoverflow.com/questions/4732563
复制相似问题