【问题标题】:How do I get the file path of the open workspace for developing plugins in eclipse如何获取用于在 Eclipse 中开发插件的打开工作区的文件路径
【发布时间】:2010-10-19 09:52:21
【问题描述】:

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

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

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

我试过org.eclipse.core.resources.ResourcesPlugin.getWorkspace(),但这似乎没有办法得到那个字符串。

为避免混淆,我知道 -data 和 -showlocation - 我想在运行时在 eclipse 插件中访问 showlocation 的文本。

我正在为我当前的项目使用 eclipse 3.5.2。

提前致谢!

【问题讨论】:

    标签: java eclipse plugins persistence


    【解决方案1】:

    这是来自a few years old now 的新闻列表,但您可以尝试:

    Platform.getLocation();
    

    【讨论】:

      【解决方案2】:
      Platform.getLocation();
      

      不是工作区的路径(尝试使用 eclipse 4.3 Kepler) 喜欢

      @Inject @Named(E4Workbench.INSTANCE_LOCATION) private Location instanceLocation;
      

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

      URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path(String_file2Locate), null);
      

      (这仅适用于不适用于插件的产品,“String_file2Locate”是您要使用的文件的文件路径,来自工作区文件夹的根/)

      或者也喜欢this。 (但您需要一个带有插件名称的字符串)

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多