我对OSGi世界相对较新,需要帮助来了解如何自动化构建过程。 我自己熟悉在Eclipse中使用bndtool,并学会了如何解决依赖关系,运行,测试,调试和生成独立的jar。我也浏览了OSGi官方网站上发布的基本和Maven教程。 我的问题是如何自动化我的构建!所以,假设我在SVN中有代码。我需要能够检查代码,然后运行构建脚本/工具来生成捆绑包,然后我可以使用Felix或Karaf进行部署。 基于Maven的官方教程(带有OSGi enRoute)仅显示如何生成独立的jar,这不是我感兴趣的东西;我需要生成捆绑。 我读过关于Maven Bundle Plugin的内容,但我想在使用它时,我将失去基于UI的bndtools在Eclipse中提供的所有豪华功能。 非常感谢您的帮助!如何自动化bndtools构建
回答
如果你用bndtools使用maven构建,那么你确实会失去一些好处。我有一个使用Maven构建的完整项目的例子。见osgi-chat。它使用bnd-maven-plugin来构建捆绑包,但您也可以使用maven-bundle-plugin。在这两种情况下,您都可以在eclipse中使用标准的m2e支持。 Bndtools然后只涉及解决捆绑和创建可运行的jar。
我们在apache社区的许多项目中使用纯maven方法。这是在Apache karaf上部署的经过验证的方式。如果你想部署到卡拉夫,那么bndtools不会有太大的帮助,因为它不能创建卡拉夫功能。
如果你想把所有的IDE支持bndtools的再使用原生bndtools建立了bndtools工作区(CNF目录),并使用gradle这个构建它提供。
Bndtools配备了gradle这个插件,你可以用它来输出一个可执行的JAR但如果你只是运行生成的罐子会在每个项目的生成的文件夹可用。
可以使用runbundles任务根据.bndrun文件导出包(类似以生成可执行的JAR只是创建一个包含包的文件夹)
作为一个长期的Maven用户,也因为我我打算使用karaf(jboss导火索),我遵循了Christian的建议,花了一些时间探索maven-bundle-plugin并计划探索bnd-maven-plugin。 从关于bnd-maven-plugin的第一次读物中,我发现它比apache插件有一些优点(直接从bnd而不是pom获得指令;预计更新与bnd更新并行)。有一件事我仍然需要了解这个插件:哪个OSGi发布版本为它生成捆绑包?根据官方网站的说法,我知道maven-bundle-plugin只为R4生成,这是一个限制。那么bnd-maven-plugin呢? 还有一个问题:哪些插件可用于生成karaf kars,并且可以将它们与bnd-bundle-plugin结合使用? 非常感谢您的耐心等待!
我花了一些时间探索bnd-maven插件。 这是我能找到的混合Eclipse中的BND-Maven的插件和bndtools的最佳方式: 1.使用bndtools解决的要求,并在Eclipse中运行的框架内束。 2.使用bnd-maven-plugin构建捆绑软件 3.使用'indexer'插件生成一个索引文件,用于bndtools的依赖关系解析。 尽管此方法允许从Eclipse内部运行包,但每次都需要'mvn install',因为bndtools插件不知道如何解析来自Eclipse工作区的依赖关系。这种方法也使得在Eclipse中调试代码变得不可能。有没有更好的选择?
谢谢
- 1. 自动化构建
- 2. 如何自动化Grails构建?
- 3. TFS构建自动化
- 4. 本地构建自动化?
- 5. 自动化node.js构建
- 6. Haskell构建自动化
- 7. 构建自动化过程
- 8. C++自动化构建
- 9. 自动化库构建
- 10. 可编程构建自动化工具?
- 11. Delphi + Oracle的自动化构建
- 12. xcode 4自动化构建过程
- 13. 自动化测试,构建和部署
- 14. 自动化的Unity基于Mac构建
- 15. 自动化构建与MSBUILD/TFS 2010/MSBuild.ExtensionPack
- 16. LESS部署和构建自动化
- 17. TFS自动化构建以代码包
- 18. 在构建过程中自动化xsd.exe
- 19. 构建自动化:MSBuild与Windows Mobile SDK
- 20. MobiStudio项目的自动化构建
- 21. 自动化XCode构建设置
- 22. 自动化MSI构建过程
- 23. 使脚本自动化构建过程
- 24. PowerShell或Python构建自动化
- 25. 为Javascript构建自动化和部署
- 26. Jenkins自动化构建过程
- 27. 自动化OSX Mac App Store构建
- 28. 如何自动化Visual FoxPro项目的构建?
- 29. 如何自动格式化sbt构建文件与scalariform?
- 30. 如何在xcode 4中完全自动化构建.ipa文件