【问题标题】:How to work around Eclipse neon 4.6 removal of org.eclipse.core.runtime.compatibility如何解决 Eclipse neon 4.6 删除 org.eclipse.core.runtime.compatibility
【发布时间】:2016-06-23 13:35:02
【问题描述】:

Eclipse Neon (4.6) 版本删除了 org.eclipse.core.runtime.compatibility,请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=476405,其中提到了这一点。

我们的几个插件依赖于此,现在不会安装到这个版本的 Eclipse 中。

是否有一个简单的解决方法,除了重新设计这些插件以消除这种依赖关系,这可能是一项艰巨的任务?

【问题讨论】:

标签: eclipse compatibility eclipse-neon


【解决方案1】:

org.eclipse.core.runtime.compatibility 是 Eclipse 2.x 的兼容层(在 OSGi 之前:没有 META-INF/MANIFEST.MF,只有 plugin.xml 等) . Eclipse 3.0 于 2004 年发布了这个兼容层。

只需删除此依赖项并查找编译错误。可能没有,你就完了。

【讨论】:

  • 我删除了依赖,它编译没有错误,并安装,但没有正确初始化。我想我必须通过并更新那部分。
  • 也许 org.eclipse.core.runtime.compatibilityfeatures.xml 文件和 config.ini 文件。或者初始化问题与此无关。
【解决方案2】:

为了迁移我们的插件,我执行了以下操作:

1) 移除对 org.eclipse.core.runtime.compatibility、org.eclipse.core.runtime.compatibility.auth 的依赖

2) 在 maven bundle 插件的说明中,更改了 Bundle-Activator 从 org.eclipse.core.internal.compatibility.PluginActivator 到插件类本身的值,现在可以有启动/停止方法,代替旧的启动和关闭方法。

3) 将插件的 1 参数构造函数(取决于不再可用的兼容性类)更改为 0 参数构造函数。

4) 找到了旧版本 2 的各种替代方法,例如获取插件的唯一标识符(例如,将 descriptor.getUniqueIdentifier() 替换为 getBundle().getSymbolicName())

【讨论】:

    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2016-07-28
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多