Eclipse RCP的类加载器地狱:感动在类不编译时在运行时仍然可见,但不再

问题描述:

我有一个奇怪的新问题与一个Eclipse 3.5 RCP应用程序:一切正常,后来我改变正在运行的系统和移动从一个单一类一个插件依赖插件。没有什么大问题,但突然间应用程序抱怨一个没有发现异常的类(或者NoClassDefFoundError - 不知道究竟是什么,但会查找它并编辑帖子...)。 ..检查了我所知道的所有信息,并确保清单包含正确版本号的依赖关系,并且该包已正确导出到另一个插件中。 Eclipse jdk不会抱怨(没有编译器错误/警告),但是当我调试到类实例化的地方并使用'CTRL + SHIFT + I'来检查'new MyClass()'语句时,检查器工具提示sais ,它不能解决这个类。Eclipse RCP的类加载器地狱:感动在类不编译时在运行时仍然可见,但不再

任何帮助,暗示和鼓励评论高度赞赏!

只是偶然解决问题(不要有最微弱的想法,这是否是一个错误或功能...):

插件项目,在那里我感动全班同学分成,有行家类似于src/main/java和src/test/java的文件夹结构,这两个文件夹都被定义为源文件夹。

只是因为我想尝试几乎所有的东西,我只src作为单一来源文件夹改变了这种结构回典型的Eclipse结构。

而且,在另一个人清洁工程“,它重新运行。奇怪...?

编辑

感谢提示,文件夹结构只是在这个职位错字。

多了很多的斗争之后 - 我很肯定的说,这是一个Eclipse的问题。在如上所述“解决”之后,第二天应用程序无法从 同一插件载入其他类,我认为在伽利略工作台重新启动后,问题消失了。

+1

Maven结构实际上是src/test/java,不是测试/ main/java – 2009-07-31 12:13:09

我也是一个Eclipse 3.5伽利略RCP应用程序,我在一个插件有一个src/java文件夹和其它插件导出包使用需要遇到的NoClassDefFoundError。

对我来说,解决方案竟然是包括bin文件夹作为运行时类路径的一部分。通常只需要包含这个。夹。