【发布时间】:2012-05-07 10:53:19
【问题描述】:
所以,我有一个已安装的扩展程序(请参阅http://docs.oracle.com/javase/tutorial/ext/basics/index.html),我可以在 Eclipse 中看到它。
我编写了一个简单的 rcp 应用程序,它试图在这个扩展中创建一个类的实例。但是,尽管一切都可以编译,但在创建实例时我得到了 NoClassDefFoundError。
我假设这与 OSGi 有关,因为我可以运行一个简单的 java 应用程序来很好地创建实例。
任何建议都将不胜感激。
谢谢
【问题讨论】:
-
您是否看到清单的导入列表中加载了类包?
-
不,它不存在。我的印象是,因为它是一个安装的扩展,它被认为是标准 jre 的一部分,因此有一个隐含的导入。
-
不,正如@earcam 解释的那样,不幸的是它需要明确。或者,您可以使用一些插件启用自动导入(这基本上会将您的最终工件与您的所有参考资料一起打包)。然而,那些往往会让你的东西变得更加肥胖,以至于他们需要成为这样的人。完全取决于你。无论哪种方式,您都需要确保明确声明您的引用。
标签: java osgi classloader noclassdeffounderror