【问题标题】:Setting the working directory for an eclipse plug-in设置 Eclipse 插件的工作目录
【发布时间】:2011-11-30 23:58:55
【问题描述】:

在我正在开发的 Eclipse 插件中,我正在查询我的开发目录中的一些 Prolog 文件。此外,我正在使用的 Prolog 引擎会自动加载位于我工作目录根目录的初始化文件。所有这些文件都是我插件的资源。

当我的应用程序作为 java 独立程序执行时,我唯一需要做的就是在 Eclipse 运行配置对话框中将工作目录设置为我的默认输出目录。然后在执行我的应用程序时,Prolog 引擎从初始化文件所在的目录启动,它能够在需要时找到并加载应用程序的 prolog 文件。这个 Prolog 引擎是使用 JPL 库从 Java 启动的。

当我想为我的应用程序构建一个 Eclipse 插件时,我的问题就开始了。显然,无法在“运行配置”对话框中更改插件的默认工作目录(至少在我的 Mac 设置中是这样),否则在执行插件时会出现无限的异常列表。 所以我想知道是否有另一种方法来设置插件的工作目录,无论是在开发生命周期(即,当我将插件作为 Eclipse 应用程序启动时)和生产中(即,当插件在插件目录中)。

谢谢!!

【问题讨论】:

    标签: java eclipse eclipse-plugin


    【解决方案1】:

    为应用程序而不是插件设置工作目录。如果所有插件都尝试根据自己的喜好设置工作目录,我可以想象会出现混乱......

    可以使用Bundle 类找到插件中的文件,该类可以使用插件激活器访问。这将为您提供一个最有可能指向 JAR 条目的 URL。 FileLocator 类可用于将该 URL “转换”为文件 URL(文件将从 JAR 中提取)。

    URL url = Activator.getDefault().getBundle().getEntry("file path in JAR");
    URL fileUrl = FileLocator.toFileURL(url);
    File file = new File(url.getPath());
    

    如果文件必须在工作目录中,那么您可以将其复制到那里。

    【讨论】:

    • 我明白了。然后我认为最好的选择是将插件配置为部署在扩展文件夹中(而不是作为 jar 文件)并尝试在插件目录中启动 Prolog 引擎。您能否指出我如何配置插件以像这样部署?。
    • @Sergio 有一个选项(将插件打包为单独的 JAR 档案)可以在插件导出期间设置 (help.eclipse.org/galileo/index.jsp?topic=/…)。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多