我知道这个问题被多次提出过,但我没有找到能够满足我的愿望的确切答案:)
长话短说: 我有简单的E4应用程序,产品项目,功能和主插件以及简单的修剪窗口。
在出口作品之后也可以。
现在。我添加了lifeCycleURI属性,为它创建了bundleclass,并使用Text区域和Button创建了简单的对话框。运行它\导出它,它运行,然后显示运行主修剪窗口对话框。好......很酷等。
但我想输入位置,例如。 C:\ TEST并在单击按钮后,我希望它成为应用程序的工作区(使用.metedata等)。怎么???
我当然试过:
Location instanceLocation = Platform.getInstanceLocation();
instanceLocation.set(new URL("file", null, "C:\TEST"), false);
但是......它说我无法改变位置,因为它已经设置好......试图在Activator中使用上面的内容。相同。试图添加
产品-data @noDefault
发布参数......同样......
我总是试图自己完成我的任务,但是......这......呃......帮忙?
答案 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中测试应用程序,则需要清除应用程序的“运行配置”中的工作空间位置。打开'运行> “运行配置”,找到您的应用程序并清除“主要”标签上的“位置”字段。