使用 maven-bundle-plugin 安装 OSGi 依赖项

Posted

技术标签:

【中文标题】使用 maven-bundle-plugin 安装 OSGi 依赖项【英文标题】:Installing OSGi dependencies with maven-bundle-plugin 【发布时间】:2012-04-20 05:10:41 【问题描述】:

我有一个编译成 OSGi 包的 java 项目。我正在使用 maven-bundle-plugin 创建包,并使用 maven-sling-plugin 将包推送到我正在运行的 OSGi 服务器。目前,我的项目有两个依赖项(Guava 和 Gson)需要在安装 bundle 之前手动安装在 Felix 服务器中。这两个依赖包的手动安装只需要发生一次(在第一次设置 OSGi 服务器时),但由于它是一个手动过程,我有点想把它推到“mvn install”阶段。

我查看了许多 maven 插件(maven-sling-plugin、maven-ipojo-plugin、依赖插件等),但恐怕我没有足够的知识知道在哪里开始,甚至在 *** 中搜索解决方案(我怀疑这已经得到了回答)。

那么 - 有没有一种干净的方法来使用 maven 安装/启动依赖包?我可以指定 jar 和运行级别,并在安装包之前进行安装?

【问题讨论】:

【参考方案1】:

Ops4j pax 构建项目可能会有所帮助:http://team.ops4j.org/wiki/display/paxconstruct/Pax+Construct

看起来可以使用 maven 指定要安装的包,然后按照此处所述启动 felix osgi 环境:

http://www.sonatype.com/books/mcookbook/reference/ch01s04.html

【讨论】:

谢谢 Dave - 我明天去看看 Pax,看看能找到什么。 嗨@Dave Paroulek。我刚刚开始使用 OSGi,但我真的被困住了。你能看看我的问题HERE: Apache Maven Assembly Plugin not working with OSGi bundles,看看你能不能帮忙。我当然会感谢您能提供的任何帮助。提前谢谢你。

以上是关于使用 maven-bundle-plugin 安装 OSGi 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 bnd/maven-bundle-plugin 从 jar 依赖项将资源文件包含到 osgi 包中?

将 maven-bundle-plugin 与 maven-shade-plugin 一起使用

<Export-Package> 用于使用 maven-bundle-plugin 的所有资源

maven-bundle-plugin 因“无效的类文件 module-info.class”而失败

为啥(以及赞成啥)maven-bundle-plugin 的 wrap/bundleall 目标被弃用?

带有 maven-bundle-plugin 的 OSGI JAR 包