6

我想用我自己的这些类的版本替换我的 Eclipse 插件所依赖的一些类 ( javax.tools.*) 。rt.jar替换其中的类rt.jar通常是通过设置引导类路径来完成的。我的问题是如何在 Eclipse 插件中执行此操作。

我为这些类的我的版本创建了一个 JAR 文件,并将其添加到 的Bundle-ClassPath属性MANIFEST.MF、 的bin.includes属性build.properties.classpath。我还将我的 JAR 文件的路径输入到 Eclipse 应用程序启动配置对话框的名为“Bootstrap entries:”的字段中,并将我的 JAR 移动到“项目属性 > 构建路径”的“订单和导出”选项卡的顶部。尽管如此,当我使用 Eclipse 应用程序启动配置运行我的 Eclipse 插件时,插件使用原始类rt.jar而不是我的 JAR 文件中的类。

如何配置我的 Eclipse 插件,使其首先在我的 JAR 文件中查找类,并且rt.jar仅在我的 JAR 文件中找不到该类时才进行查询?

4

1 回答 1

6

我找到的解决方案是配置运行插件的 JRE。

要找到运行插件的 JRE,首先需要找到插件的执行环境。打开MANIFEST.MF插件的文件,找到该Bundle-RequiredExecutionEnvironment属性设置的执行环境,例如JavaSE-1.6.

在 Eclipse 中,每个执行环境都映射到一个 JRE 安装。要找到您的执行环境设置到的 JRE,Preferences -> Java -> Installed JREs -> Execution Environments然后单击插件使用的执行环境。

您需要配置运行插件的 JRE。转到Preferences -> Java -> Installed JREs并选择插件使用的 JRE。按下Edit...按钮并将其设置Default VM arguments-Xbootclasspath/p:/path/to/your/jar.jar。最后,单击Finish按钮,然后单击OK首选项窗口上的按钮。

您可以在不同的地方设置 VM 参数,例如,在 Eclipse 应用程序的启动配置对话框中。

于 2012-11-06T00:47:31.773 回答