【发布时间】:2015-01-15 11:14:19
【问题描述】:
我有一个 Eclipse(Kepler Service Release 2)工作区,其中包含多个项目,这些项目可以分为两部分。第一部分包含除一个之外的所有项目。
它们相互依赖,其中一个项目是执行的优先入口点。我们称之为“项目 A”。
现在我创建了构成第二部分的“项目 B”。我需要从项目 B 启动项目 A,从中获取一些计算结果,并对这些结果做一些进一步的工作(包括用户输入和文件操作)。
由于项目 A 是一个 IApplication,我不知道如何启动它。 (它不包含 main 方法,项目中只包含一个带有“一些”参数的 XMLFile。)
起初我创建了一个普通的 Eclipse 项目并添加了项目 A 作为依赖项,这允许我从项目 A 实例化所需的类,但我无法运行 public Object start(IApplicationContext context) 方法,因为它需要一个 IApplicationContext。直观我尝试包含必要的类并自己创建一个上下文。
在认识到这种方法行不通后,我四处搜索有关 IApplication(Context) 的信息,现在我假设这些类仅在 Eclipse-Plugin Development 中可用。
由于我从未创建过 Eclipse-PlugIn,我不确定它是否能够满足我所描述的所有需求。此外,我尝试使用this 教程创建一个测试插件,但我在第一条指令中的“启动 Eclipse 应用程序”这一点上失败了。
那么,谁能给我一个关于启动 IApplication 的建议?
如果这里重要的是我之前提到的 XML 配置文件的摘录。它被称为"ClassIWantToStart".launch
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="automaticAdd" value="false"/>
<booleanAttribute key="automaticValidate" value="false"/>
<stringAttribute key="bootstrap" value=""/>
...
</launchConfiguration>
它还包含 StringAttributes,如 target_bundles 和 org.eclipse.jdt.launching.VM_ARGUMENTS,它们包含大量属性。
PS:项目 A 本身似乎是一个 Eclipse-PlugIn
感谢您的每一个建议。
【问题讨论】:
-
如果它使用
IApplication,它是一个必须作为独立程序运行的 Eclipse 富客户端程序 (RCP) -
不可能从另一个项目开始吧?
-
您可以将它作为一个单独的程序运行,但这可能对您没有帮助。如果 RCP 由插件组成,则您可以将插件与 RCP 分开使用。或者您可以编写新插件添加到 RCP。
-
好的,谢谢你的帮助。
标签: java eclipse project equinox eclipse-kepler