我们已将 OSGi 运行时 (Equinox) 嵌入到自定义客户端-服务器应用程序中,以促进插件开发,到目前为止一切进展顺利。由于 Eclipse 内置的清单编辑器、依赖项管理和导出向导,我们一直使用 Eclipse 来构建插件。使用 Eclipse 来管理构建不太有利于通过 Hudson 进行持续集成。
我们有依赖于其他 OSGi 包的 OSGi 包。我真的不想在自定义 ANT 构建中硬编码构建顺序。我们已经这么做了,这已经是过去式了,而且非常可怕。是否有任何构建工具可以轻松管理 OSGi 依赖项(如果不能自动解决它们)?有没有任何不错的例子来说明如何做到这一点?
澄清:
生成的构建脚本只能通过 Eclipse 使用。它们需要手动运行 Eclipse 的各个部分。我们还有一些 Eclipse 构建不会有的标准目标,并且我不想修改生成的文件,因为我可能会重新生成(我知道我可以包含,但我想避免 Eclipse gen 文件全部一起)
这是我的项目布局:
/
-PluginA
-PluginB
-PluginC
.
.
.
在使用 Eclipse PDE 时,每个插件都有一个 Manifest,但没有 build.xml,因为 PDE 为我做了这个。很难用 Hudson 来自动化 GUI 驱动的流程。我想设置我自己的 build.xml 来构建每个,但存在依赖性和构建顺序问题。这些问题是由清单文件(描述 OSGi 导入)驱动的。例如,PluginC 依赖于 PluginB,而 PluginB 又依赖于 PluginA。它们必须按正确的顺序构建。我意识到我可以手动控制构建顺序,我正在寻找一种工具来帮助自动化构建顺序依赖项管理。
一路Maven2;有一个名为的 Eclipse 插件m2eclipse http://m2eclipse.codehaus.org/为了帮助管理它,准确地解决依赖问题等等。有一个免费在线书籍作为文档 http://www.sonatype.com/community/definitive_guide.html.
具体看多模块项目 http://www.sonatype.com/book/reference/multimodule.html#用于将许多组件捆绑在一起并让 Maven 确定构建顺序和依赖关系。
还有一个关于 Eclipse 集成的章节 http://www.sonatype.com/book/reference/eclipse.html#.
这只是 Eclipse 和 Maven,接下来您将获得 OSGi 的一些很酷的东西:
- The Apache Felix BND Maven 插件 http://felix.apache.org/site/maven-bundle-plugin-bnd.html会自动生成您的清单或至少帮助您
- The PAX OPS4J 项目 http://www.ops4j.org/projects/pax/maven/他们的 Maven 插件可以为引导项目、提供启动器等提供很大帮助
从根本上来说,Maven 模块模型与 OSGi 的捆绑模型完美契合。三年多以来,我们一直在使用 Maven 构建和管理包含数百个捆绑包的多个产品,这非常棒。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)