Eclipse RCP 4.x - 定义工作空间位置

时间:2015-07-13 20:29:20

标签: java eclipse-rcp

我知道这个问题被多次提出过,但我没有找到能够满足我的愿望的确切答案:)

长话短说: 我有简单的E4应用程序,产品项目,功能和主插件以及简单的修剪窗口。

在出口作品之后也可以。

现在。我添加了lifeCycleURI属性,为它创建了bundleclass,并使用Text区域和Button创建了简单的对话框。运行它\导出它,它运行,然后显示运行主修剪窗口对话框。好......很酷等。

但我想输入位置,例如。 C:\ TEST并在单击按钮后,我希望它成为应用程序的工作区(使用.metedata等)。怎么???

我当然试过:

Location instanceLocation = Platform.getInstanceLocation();
instanceLocation.set(new URL("file", null, "C:\TEST"), false);

但是......它说我无法改变位置,因为它已经设置好......试图在Activator中使用上面的内容。相同。试图添加 产品-data @noDefault发布参数......同样......

我总是试图自己完成我的任务,但是......这......呃......帮忙?

1 个答案:

答案 0 :(得分:2)

您应该能够在生命周期类的@PostContextCreate方法中执行此操作。不要指定'-data'参数

@PostContextCreate
public void postContextCreate()
{   
  Location instanceLoc = Platform.getInstanceLocation();

  // Stop if location is set
  if (instanceLoc.isSet())
    return;

  File file = new File("C:\\TEST");

  instanceLocation.set(file.toURL(), false);
}

注意:您的文件路径中需要'\\'。

这改编自我在e4 RCP中使用的代码。

如果您当前正在Eclipse中测试应用程序,则需要清除应用程序的“运行配置”中的工作空间位置。打开'运行> “运行配置”,找到您的应用程序并清除“主要”标签上的“位置”字段。