我有一个使用第三方库(jgrapht)的xtext项目。我(必须)注入相关的jgrapht类,当我使用附带的xtext测试项目测试我的xtext编译器时,这可以正常工作。
然而,当我尝试以 - >运行时eclipse应用程序我得到一个NoClassDefFoundError,尽管.jars包含在主xtext项目和IDE项目中。
根据我的阅读,我应该“为提供这些类的包或包添加一个依赖项。”但是,当我使用eclipse来解决依赖关系时,它不做任何更改。当我尝试手动将包添加到projectx / META-INF / MANIFEST.MF中的Import-Package时“没有可用的包导出org.jgrapht.DirectedGraph”,同样适用于其他依赖项。导出包,如果我作为Eclipse应用程序运行时需要它,告诉我插件中不存在包。将它添加到require-bundle,我被告知它无法解决。尽管在测试项目时包使用得很好。
如果你能提供帮助,谢谢。
部分异常跟踪是(我的xtext项目是projectx):
13 [Worker-2] ERROR org.eclipse.xtext.internal.ResourceServiceProviderDescriptor - org/jgrapht/graph/DefaultDirectedGraph
java.lang.NoClassDefFoundError: org/jgrapht/graph/DefaultDirectedGraph
at projectx.ToscaRuntimeModule.configure(ToscaRuntimeModule.java:22)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at com.google.inject.spi.Elements.getElements(Elements.java:92)
at com.google.inject.util.Modules$RealOverriddenModuleBuilder$1.configure(Modules.java:152)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)