E4应用程序 - 导入没有Bundle-SymbolicName的插件

时间:2016-07-08 13:28:08

标签: eclipse maven jar manifest e4

我正在开发一个项目,这是一个POM和清单驱动的E4应用程序,其中包含一个插件平台项目,该项目构建了一个本地p2作为我更大的RCP应用程序的目标。必要的依赖项较旧,并且在其jar中包含一个不包含Bundle-SymbolicName的清单。因此,我无法将插件导入到我的本地p2 repo和后续目标定义,因为我的平台项目的feature.xml无法解析插件。

有没有办法将此插件导入到我的本地p2而没有归因于它的Bundle-SymbolicName?

由于

feature.xml的

<?xml version="1.0" encoding="UTF-8"?>
<feature
  id="example.p2.feature"
  label="Example Maven Dependencies"
  version="1.0.0.qualifier"
  provider-name="">

    <description url="http://www.example.com/description">
      Base feature for example project to be built on
    </description>

    <copyright url="http://www.example.com/copyright">
      [Enter Copyright Description here.]
    </copyright>

    <license url="http://www.example.com/license">
      [Enter License Description here.]
    </license>

    <plugin
         id="org.apache.commons.collections"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

    <plugin
         id="org.apache.thrift"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

    <plugin
         id="org.apache.commons.pool"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>

MANIFEST.MF

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: ecagent
Build-Jdk: 1.5.0_22
Created-By: Apache Maven 3.1.1

1 个答案:

答案 0 :(得分:0)

一个不包含>>> s2 = """# Case 1 ... 1980 (reprint 1723) ... ... # Case 2 ... 1980 (1987 reprint)""" >>> >>> [i.groupdict() for i in re.finditer(r'(?P<publish>\d{4})\s\(((?=reprint).*)?(?P<reprint>\d{4})((?=\sreprint).*)?\)', s2)] [{'reprint': '1723', 'publish': '1980'}, {'reprint': '1987', 'publish': '1980'}] 条目的jar(并且在旧的Eclipse 2.0样式中不包含Bundle-SymbolicName)不是插件,你不能像它一样引用它是一个。

您可以将jar包含在现有插件的一部分中(如果这样做,请确保它在`build.properties中列出),或者您可以创建一个新的插件,只需包含jar