如何在 RCP 4 应用程序中检索当前工作区路径?
How to retrieve current workspace path in RCP 4 app?
在我的 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"); //
请帮忙!谢谢!
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 class 的 @PostContextCreate
方法中编写了这样的代码 class。
注意:在按上述方法设置位置之前,请勿调用 Location.getURL
方法。在执行此操作之前调用 getURL
将设置安装位置的默认值(这是您测试显示的内容)。
在我的 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"); //
请帮忙!谢谢!
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 class 的 @PostContextCreate
方法中编写了这样的代码 class。
注意:在按上述方法设置位置之前,请勿调用 Location.getURL
方法。在执行此操作之前调用 getURL
将设置安装位置的默认值(这是您测试显示的内容)。