我正在为Eclipse编写一个插件。该插件允许用户创建新项目,编辑它,然后将项目启动到外部工具。该项目不是Java项目。这是我自己的自定义项目,基本上由HTML,CSS和JavaScript组成。
我实际启动项目时遇到了麻烦。
我有一个启动委托(ILaunchConfigurationDelegate),代码如下:
public class LaunchConfigurationDelegate1 implements
ILaunchConfigurationDelegate {
public LaunchConfigurationDelegate1() {
// TODO Auto-generated constructor stub
}
@Override
public void launch(ILaunchConfiguration configuration, String mode,
ILaunch launch, IProgressMonitor monitor) throws CoreException {
System.out.println("You clicked run!!!");
}
}
这很简单,工作正常。问题是我不知道如何获得所选项目的句柄。以下项目为项目指定了“null”:
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject();
当我使我的委托成为AbstractJavaLaunchConfigurationDelegate时,这也返回null:
this.getJavaProject(configuration).getProject().getName()
我必须遗漏一些明显的东西。我需要做的是A)获取当前项目,B)将其复制到新目录,然后C)然后启动外部工具。我做过B& C带有硬编码值,但我无法弄清楚如何动态获取A部分的项目。
任何帮助表示感谢。
答案 0 :(得分:0)
AFAIK你不直接在eclipse中启动项目。您启动启动配置,并将此作为启动方法的参数。您需要确保启动配置(您可能需要自定义配置)包含足够的数据以允许您启动(可能您可以在启动配置中拥有指向项目的链接)。
你可能会在eclipse mailing lists之一的问题上得到更好的答案。获得一些类似项目(JDT,CDT?)的来源也是一个好主意,看看它是如何完成的。