我开发了一个执行m2m QVT转换的插件(MultiTanPluginX)。转换在插件本身中成功执行,但是,当导出插件并在另一个java项目中使用它时,我收到此错误:
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.m2m.internal.qvt.oml.compiler.UnitResolverFactory$Registry
org.eclipse.m2m.qvt.oml.TransformationExecutor.doLoad(TransformationExecutor.java:205)
org.eclipse.m2m.qvt.oml.TransformationExecutor.loadTransformation(TransformationExecutor.java:108)
org.eclipse.m2m.qvt.oml.TransformationExecutor.execute(TransformationExecutor.java:137)
multitenantplugin.qvtTransform.generateMultiTenant(qvtTransform.java:81)
org.saas.mda.tenanthandler.tenantServlet.dothistrans(tenantServlet.java:205)
org.saas.mda.tenanthandler.tenantServlet.doGet(tenantServlet.java:182)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
我在我的插件里面的Runtime插件中定义了这个类,但是,这个类不能作为jar文件包含在我的新java项目中。我该如何解决这个问题?
答案 0 :(得分:0)
大多数Eclipse插件只能在Eclipse RCP中使用,而不能在普通的Java程序中使用,因为它们依赖于RCP启动代码正确初始化的Eclipse插件基础结构。看起来您的插件属于该类别。
所以你需要使用Eclipse RCP。