我對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文件