【发布时间】:2014-04-05 17:03:13
【问题描述】:
我正在使用 eclipse e4 rcp 应用程序并尝试在其中使用 JfreeChart。所以我在构建路径的外部 jar 文件中添加了 jcommon-1.0.16.jar、jfreechart-1.0.14.jar、jfreechart-1.0.14-experimental.jar 和 jfreechart-1.0.14-swt.jar。运行应用程序时出现以下错误
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/jfree/data/xy/XYDataset
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:344)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:254)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
.............
Caused by: java.lang.ClassNotFoundException: org.jfree.data.xy.XYDataset cannot be found by com.xyz.project_1.0.0.qualifier
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
任何人都可以建议如何进行吗?
【问题讨论】:
-
您是否有一个包含 Jfreechart jar 的插件,并且您是否尝试在此插件之外使用 XYDataset(异常表明您正在将 XYDataset 注入某些方法)。如果是这样,您需要导出 jfreechart 类,而其他插件需要依赖导出 jfreechart 类的插件。 (备注:我在 Eclipse E4 富客户端应用程序中使用 jfreechart 并且可以正常工作)
-
没有。我没有使用插件。我刚刚下载了这些 jar 并将其添加到构建路径中。我是否需要进行任何其他更改?
-
通常的方法是将jar添加到插件中(plugin.xml/manifest)。此信息用于配置 OSGi 类加载机制。构建路径仅在构建时使用。
标签: eclipse jar eclipse-rcp jfreechart e4