如何在RCP 4应用程序中检索当前工作空间路径?

时间:2017-12-13 11:22:38

标签: java path eclipse-rcp e4

在我的RCP 4应用程序中,如何检索应用程序的工作区路径?我尝试了一些但失败了:

ResourcesPlugin.getWorkspace().getRoot(); //Cannot used in RCP 4 app
URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path("/"), null); //is not workspace
Location instanceLocation = Platform.getInstanceLocation(); // the same as getInstallLocation()
String s = System.getProperty("eclipse.workspace"); //

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:0)

Platform.getInstanceLocation()应该可以工作但是如果未通过指定-data命令行选项设置位置,则必须在启动时添加代码来设置位置。

类似的东西:

Location instanceLoc = Platform.getInstanceLocation();
// TODO check for null

if (!instanceLoc.isSet()) {
  URL url = .... work out a location for the workpace 

  instanceLoc.set(url, false);
}

我在LifeCycle类的@PostContextCreate方法中运行这样的代码。

注意:在按上述方法设置位置之前,请勿调用Location.getURL方法。在执行此操作之前调用getURL将设置安装位置的默认值(这是您正在测试的内容)。