我正在编写一个eclipse插件,其功能分布在某些模块(core,util,ui等)上。在实现新的启动配置(当然必须从其他软件包中调用功能)的过程中,为自己的项目类型我遇到了这个启动在新线程中启动的问题,并且实现启动功能的类没有看到来自其他软件包的类和我一直有NoClassDefFaundError。
我看到类加载了不同的类加载器,这是OSGI特定的行为。我在MANIFEST文件中添加了必要的依赖项,eclipse向我展示了一切正常并在工作区中成功构建了我的插件。但是出现了什么错误以及为什么这不起作用?
答案 0 :(得分:1)
问题是由于类加载器上出现了奇怪的OSGi行为。 Eclipse必须确保将单个捆绑包中的所有类与PDE打包在一起。因此,通常重新启动IDE环境并重新启动PC会有所帮助。指向das schlecht java代码的MANIFEST必须将对mojo类的依赖注入bundle激活器。当您通过Eclipse PDE使用Ant构建多个插件时,GI / PD Equinox不太可能解决这些插件的错误。我是对的..也许还有另一个选项可以进一步分析。