我的任务是创建一个插件,它基本上模拟了eclipse GUI中的按钮,但是来自命令行;如:
eclipsec -consoleLog -console -nosplash -application org.doo.headless.headless
我能够将此插件作为Hello World运行,并使用eclipse方法等来打印System.out.println
。在基本上是第三方插件中调用方法时出现了困难。
在我的Eclipse PDE项目中,我已将第三方插件添加到" Dependencies"并导入它;对第三方插件的功能generateAll
的引用是可以的,并且可以毫无问题地导出项目
从命令行运行插件返回
java.lang.NoClassDefFoundError swdb2C/ui/common/GenerateAll
这是我想要调用的方法的类定义。
有没有更好的方法来调用另一个插件的功能?是否可以在不导出第三方插件的情况下使用它?理想情况下,我只想将我的插件与我试图自动化的第三方插件一起部署。
编辑:清单文件
第三方项目:(删除了一些东西)
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: swdb2C Module IDE Plug-in
Bundle-SymbolicName: a.b.c.swdb2C.ui;singleton:=true
Bundle-Version: 2.4.0.201402041054
新插件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: headless
Bundle-SymbolicName: org.foo.headless;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.foo.headless.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.core.runtime;version="3.4.0",
org.eclipse.emf.common.util,
org.eclipse.equinox.app;version="1.1.0",
org.osgi.framework;version="1.6.0"
Require-Bundle: a.b.c.swdb2C.ui;bundle-version="2.4.0"
在Application1
import swdb2C.ui.common.*;
导入它。