1

我正在尝试通过使用片段项目来扩展第三方 Eclipse 插件。主要原因是第三方插件包含具有默认(包)修饰符的类,我需要扩展它们。

因此,我的扩展类必须位于完全相同的包中。我创建了一个包含相同包的片段项目并将我的类放入其中。当我使用运行时工作区时,一切正常。

但是,如果我尝试部署我的片段(例如,将其部署到我的 Eclipse 发行版的 dropins 文件夹中),我将无法执行代码。扩展和类似的东西可以正常工作(例如,我将扩展用于新的运行配置。但是,如果我尝试实例化此运行配置,我会收到一条错误消息,指出第三方根插件无法将类加载到显示我的配置选项卡组。

有遇到此类问题的经验吗?

4

3 回答 3

1

对不起,但这不起作用。除非主机包是专门为它制作的,否则您不能从片段覆盖主机中的类。原因是资源 - 包括类 - 在任何片段之前从主机中检索。

org.eclipse.osgi.baseadaptor.loader.ClasspathManager执行..

于 2012-06-06T12:14:33.590 回答
0

实际上,我现在为自己找到了问题。问题是一个错误配置的构建属性文件,它从我的片段 JAR 中排除了 Java 字节码。非常痒,因为这些类在 JAR 中但在错误的子目录中。

于 2012-06-08T10:25:30.863 回答
0

实际上,这是我正在使用的扩展代码:

<extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
  <launchConfigurationTabGroup
    class="com.android.ide.eclipse.adt.internal.launch.jouleunit.AndroidJouleUnitTabGroup"
    id="com.android.ide.eclipse.adt.jouleunit.AndroidJouleUnitLaunchConfigTabGroup"
    type="com.android.ide.eclipse.adt.jouleunit.launchConfigurationType">
  </launchConfigurationTabGroup>

当然,还有定义启动配置类型等的进一步扩展,但这是导致 Eclipse 无法找到的类的扩展。

于 2012-06-07T07:29:42.593 回答