在我的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"); //
请帮忙!谢谢!
答案 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
将设置安装位置的默认值(这是您正在测试的内容)。