Eclipse插件:在另一个插件中直接调用方法?

时间:2015-06-26 11:45:02

标签: java eclipse plugins eclipse-plugin

我的任务是创建一个插件,它基本上模拟了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.*;导入它。

0 个答案:

没有答案