我有一个Eclipse(Kepler Service Release 2)工作空间,其中包含几个项目,可以分为两个部分。第一部分包含除一个之外的所有项目。
它们彼此依赖,其中一个项目是执行的先前入口点。我们称之为"项目A"。
现在我创建了"项目B"这构成了第二部分。我需要从项目B启动项目A,从中获取一些计算结果,并对这些结果做一些进一步的工作(包括用户输入和文件操作)。
由于项目A是IApplication,我不知道如何启动它。 (它不包含主方法,只包含带有&#34的XML文件;项目中包含一些"参数。)
首先,我创建了一个普通的Eclipse项目,并将项目A添加为依赖项,这允许我从项目A实例化所需的类,但我无法运行public Object start(IApplicationContext context)
方法,因为它需要一个IApplicationContext。直觉我试图包含必要的类并自己创建一个上下文。
在认识到这种方法不起作用后,我搜索了有关IApplication(Context)的信息,现在我假设这些类仅在Eclipse-Plugin Development中可用。
由于我从未创建过Eclipse-PlugIn,因此我不确定它是否能够满足我所描述的所有需求。此外,我尝试使用this教程创建一个测试插件,但我在#34;启动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>
它还包含像target_bundles
和org.eclipse.jdt.launching.VM_ARGUMENTS
这样的StringAttributes,它们包含大量属性。
PS:项目A似乎是Eclipse-PlugIn本身
我很感谢你的每一条建议。
答案 0 :(得分:0)
我通过反转依赖关系解决了这个问题。现在RCP加载所有插件。