代码之家  ›  专栏  ›  技术社区  ›  paul

EclipseRCP:创建需要两个不同版本插件的产品时出现问题

  •  2
  • paul  · 技术社区  · 17 年前

    出于与外部产品兼容的原因,我需要构建一个RCP应用程序,其中必须包含一个插件的两个版本。该插件是org.apache.lucene,目前在Eclipse3.4中是1.9.1。我需要版本1.4.103以便与其他应用程序兼容。我应该说,我的RCP应用程序最初是使用Eclipse3.2开发的,在升级到3.4之后,出现了这个问题。

    在开发和测试期间,我的应用程序工作正常。我不得不在运行配置中手动添加1.4.103插件,但除此之外,它运行正常。

    现在我正处于构建产品阶段,无法在产品向导的配置选项卡中添加2个版本的Lucene插件。在运行时,一个错误指示缺少Lucene的1.4.103版本。

    3 回复  |  直到 17 年前
        1
  •  2
  •   VonC    17 年前

    考虑到,在OSGi中,捆绑包没有捆绑包之间的直接依赖的概念。
    相反,每个bundle都会列出它希望其他bundle通过“Import-Package”和“Import-Service”头注册的服务和包。

    在另一侧,捆绑包列出了它计划通过“导出包”和“导出服务”导出的服务和包。因此,捆绑包实现之间没有硬依赖关系。只要某个包提供您导入的包,您的包就会很高兴。

    例如,WTP(Web工具平台) has Duplicated javax.wsdl plugins :


    现在,您应该确保已经使用子菜单“PDE工具”(右键单击项目)转换了3.2插件项目。

    product for your rcp application ,您将在其中定义配置( target

        2
  •  2
  •   Steve Robenalt    16 年前

    我深入研究了这个问题,涉及到一个捆绑BIRT的产品,因此继承了对两个不同版本的javax.wsdl的需求。在阅读了大量wiki页面、bugzilla条目等之后,我发现这是PDE(插件开发环境)构建过程中的一个问题。这个问题现在已在Eclipse3.5中得到纠正。bugzilla条目位于 https://bugs.eclipse.org/bugs/show_bug.cgi?id=265438 .

        3
  •  0
  •   Imaskar    17 年前

    用另一个名字从源代码编译这个插件怎么样?或者为较旧的插件函数编写一个包装器到较新的插件函数?