如何解析OSGI依赖关系



这是一个非常普遍的问题。如何解决OSGI依赖关系?我有一个jar依赖,它没有打包成OSGI包。现在,如果我想使用这个jar,我需要显式地从中创建一个bundle吗?如果有,我该怎么做?

具体来说,我正在尝试使用WIQuery将wicket与一些JQuery功能集成在一起。我的wicket版本是1.4.17,我使用Maven。

我想使用以下依赖项

<dependency>
    <groupId>org.openengsb.forks</groupId>
    <artifactId>org.odlabs.wiquery</artifactId>
    <version>1.2.4.w1</version>
</dependency>

我试着在我的pom中添加上述依赖项,并在maven-bundle-plugin的配置字段中添加import-package语句,但在启动时总是出现缺失约束错误

您需要在OSGi包的清单文件中包含,并在OSGi环境中包含用于OSGi的WIQuery jar。

对于Maven,您应该在代码中包含编写清单文件的部分。然后,在包含包之前,还需要在OSGi容器中添加WIQuery jar。

如果你在Google中搜索这个,你可以看到自2011年以来就有集成WIQuery和OSGi的工作

看看这些教程:http://web.ist.utl.pt/ist162500/?cat=2

你必须在编译时用标签解决你的依赖关系,然后你必须在运行时向你的OSGi容器提供bundle。

我创建了这个博客,详细解释了如何处理这个OSGi问题:http://www.citizenrandom.com/?cat=2

最新更新