我正在嘗試使用Maven(和NetBeans)創建一個Karaf程序集。我使用聲明式服務創建捆綁包,但創建功能文件時遇到問題。我的部分問題是OSGi生成的錯誤消息。但我有一個更一般的問題。爲Karaf生成功能文件的正確方法?
我發現我可以在創建我的包的項目中調用karaf-maven-plugin
,它會根據包的依賴關係生成似乎是全面填充的功能文件。 (方法1)
但是,我已經閱讀了某個地方,創建一個karaf-maven-plugin
的功能文件通常應該只在一個包含feature
的項目中完成。如果我這樣做,在我看來,我必須手動創建功能文件,這不是很有趣。 (方法2)
無論使用哪種方法,我都無法成功生成一個卡拉夫程序集,其中包含除簡單包以外的任何內容而沒有任何依賴關係。我目前堅持試圖安裝一個需要包裝一些非OSGi依賴項的包。以上方法1生成wrap
填充(<feature>
和wrap:
協議)。我得到的是以下錯誤:
Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.0:assembly (default-assembly) on project EnoceanBridgeAdmin: Unable to build assembly: [wrap/0.0.0]
EnoceanBridgeAdmin
是karaf-assembly
包裝,我試圖建立。它有一個包含所生成的特徵文件(其中wrap
引用)的包的依賴:
<dependency>
<groupId>net.winnall.enocean.service.impl</groupId>
<artifactId>EnoceanBridgeSASS.Impl</artifactId>
<version>0.99.99</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
所以我的問題:
- 高於正確的使用方法1?
- 我可以自動生成要使用方法2的功能文件嗎?
- 將方法1或方法2分類後,錯誤消息會消失嗎?
史蒂夫