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