OSGi无法解析捆绑

时间:2019-02-02 14:24:00

标签: java osgi osgi-bundle bnd bndtools

我正在尝试将基于PDE的旧项目移植到bndtools,也将Eclipse Kepler移植到新的Eclipse Photon。在执行此操作时,我遇到了所用库的一些问题。

在旧项目中,许多库都直接作为jars集成到了项目中,但是现在我将这些jars分成了自己的捆绑包。那部分工作正常,我能够做到这一点而在日食中没有任何明显的错误。
因此,我想创建一个bndrun文件并测试这些捆绑包,但是由于某些jar似乎具有不令人满意的依赖关系,这种方式还是行不通的。

奇怪的是,这是在旧日食开普勒中起作用的。

我使用的某些库出现此错误,以下是此jar this question

的捆绑包示例

罐子与jar文件夹中的其他罐子并排放置:

CoDec-build17-jdk13.jar

相应的包描述符在同一项目中:

enter image description here

此描述符的内容如下:

export const selectClass = classId => ({
  type: 'SELECT_CLASS',
  classId,
});

bndrun文件:

Bundle-Version: 1.0.0
Bundle-Name: com.framework.libraries.CoDec
Bundle-Description: This is a wrapper for the CoDec dependency
Bundle-Category: external
Export-Package: *

尝试将此插件绑定到bndrun文件时,结果如下:

-runfw: org.eclipse.osgi;version='[3.13.100.v20180827-1536,3.13.100.v20180827-1536]'
-runee: JavaSE-1.8
-runprovidedcapabilities: ${native_capability}

-resolve.effective: active

-runproperties: \
    osgi.console=,\
    osgi.console.enable.builtin=false

-runrequires: \
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
    bnd.identity;id='com.framework.libraries.CoDec'
-resolve: auto
-runbundles: \
    org.apache.felix.gogo.command;version='[1.0.2,1.0.3)',\
    org.apache.felix.gogo.runtime;version='[1.0.10,1.0.11)',\
    org.apache.felix.gogo.shell;version='[1.0.0,1.0.1)',\

0 个答案:

没有答案