嗨,RCP开发者,
我的产品有问题了。当我启动它的时候,我得到了这个:
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/springframework/web/client/RestClientException
由: org/springframework/web/client/RestClientException:java.lang.NoClassDefFoundError引起的
我使用来自SPRINGFRAMEWORK的REST模板来捕捉REST 的结果,并尝试使用JFACE在Treeview中显示这一点。
所有springframewok jar都被正确地添加到项目中。
有人能帮忙吗?
提前谢谢!
伊斯梅尔
发布于 2013-11-19 19:22:15
NoClassDefFoundError指定类在编译时可用,但在运行时丢失。在您的示例中,org.SpringFrawork.web-3.0.5.RELEASEJAR似乎在类路径中缺失。如果仍然面临问题,请按照以下步骤进行调试:
http://javareferencegv.blogspot.com/2013/10/debugging-javalangnoclassdeffounderror.html
发布于 2013-11-20 14:35:48
我认为您在Eclipse中缺少了一个核心概念,那就是OSGi。OSGi是一个模块系统,它要求每个模块(即JAR)按包导入它使用的依赖项。这样的条目可以在JAR的MANIFEST.MF中找到,虽然它们可以被手动编辑来导入这些依赖项,但是通常一个工具(比如bnd)可以使这些条目更容易管理。
Eclipse为您完成了大部分这项工作(添加Spring项目特性也是如此),但是您需要将任何依赖项添加为插件(也是OSGi模块),以便在Eclipse中构建的RCP产品运行程序中可以看到它们。简单地将它们添加到构建类路径中并不能转化为它们包含在运行时类路径中。
当您试图在Eclipse中运行您的产品/应用程序时,请确保单击“验证插件”按钮,以确保它们对您正在运行的目标RCP应用程序都是可见的运行时。
https://stackoverflow.com/questions/20071718
复制相似问题