Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取eclipse中开发插件的开放工作区的文件路径_Java_Eclipse_Plugins_Persistence - Fatal编程技术网

Java 如何获取eclipse中开发插件的开放工作区的文件路径

Java 如何获取eclipse中开发插件的开放工作区的文件路径,java,eclipse,plugins,persistence,Java,Eclipse,Plugins,Persistence,这是一个专门针对Eclipse平台的插件开发的问题: 我需要在不硬编码我正在使用的数据存储名称的情况下实现持久性。我希望能够使用独立的数据存储同时运行多个eclipse实例和我的插件 一种方法是使用工作区的文件路径生成/查找与特定工作区相关的数据存储的名称 我尝试了org.eclipse.core.resources.ResourcesPlugin.getWorkspace(),但似乎没有办法获取该字符串 为了避免任何混淆,我知道-data和-showlocation-我希望在eclipse插件

这是一个专门针对Eclipse平台的插件开发的问题:

我需要在不硬编码我正在使用的数据存储名称的情况下实现持久性。我希望能够使用独立的数据存储同时运行多个eclipse实例和我的插件

一种方法是使用工作区的文件路径生成/查找与特定工作区相关的数据存储的名称

我尝试了org.eclipse.core.resources.ResourcesPlugin.getWorkspace(),但似乎没有办法获取该字符串

为了避免任何混淆,我知道-data和-showlocation-我希望在eclipse插件中在运行时访问showlocation的文本

我在当前项目中使用Eclipse3.5.2


提前谢谢

这是一个新闻列表,但您可以尝试:

Platform.getLocation();
不是工作区的路径(使用Eclipse4.3Kepler尝试) 像

它将给出配置文件夹的位置,而不是工作区的位置。 我发现有一件事是有效的:

URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path(String_file2Locate), null);
(这仅适用于不适用于插件的产品,“String_file2Locate”是您要使用的文件的文件路径,位于工作区文件夹的根/目录下)


或者也喜欢。(但是您需要一个带有插件名称的sting)

对于Eclipse3.X,使用
ResourcesPlugin.getWorkspace().getRoot().getLocation()导入org.eclipse.core.resources插件后

@Inject @Named(E4Workbench.INSTANCE_LOCATION) private Location instanceLocation;
URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path(String_file2Locate), null);