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

Eclipse RCP 4.x - Defining workspace location

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

长话短说: 我有简单的 E4 应用程序、产品项目、功能和主要插件,带有简单 trim window。

有效,导出后也有效。

现在。我添加了 lifeCycleURI 属性,为其创建了 bundleclass,并创建了带有文本区域和按钮的简单对话框。 运行 it\export 它和它的工作原理,在 运行 主要 Trim Window 对话框显示之前。很好..很酷等

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

当然我试过:

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

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

我总是尝试自己完成我的任务,但是这个....这个...呃...帮助?

您应该可以在生命周期 class 的 @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 中测试应用程序,则需要清除应用程序 'Run Configuration' 中的工作区位置。打开 'Run > Run Configurations',找到您的应用程序并清除 'Main' 选项卡上的 'Location' 字段。