我正在尝试将基于PDE的旧项目移植到bndtools,也将Eclipse Kepler移植到新的Eclipse Photon。在执行此操作时,我遇到了所用库的一些问题。
在旧项目中,许多库都直接作为jars集成到了项目中,但是现在我将这些jars分成了自己的捆绑包。那部分工作正常,我能够做到这一点而在日食中没有任何明显的错误。
因此,我想创建一个bndrun文件并测试这些捆绑包,但是由于某些jar似乎具有不令人满意的依赖关系,这种方式还是行不通的。
奇怪的是,这是在旧日食开普勒中起作用的。
我使用的某些库出现此错误,以下是此jar this question
的捆绑包示例罐子与jar文件夹中的其他罐子并排放置:
相应的包描述符在同一项目中:
此描述符的内容如下:
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)',\