0
我想構建osgi組件,並且我被告知要使用maven-bundle-plugin
。我開始加入到這個我pom.xml
:如何在使用maven-bundle-plugin時形成.bnd文件?
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.0</version>
<extensions>true</extensions>
<configuration>
<obrRepository>NONE</obrRepository>
<instructions>
<_include>-bnd.bnd</_include>
</instructions>
</configuration>
</plugin>
通知被傳遞到<_include>
標籤.bnd
文件。我聽說有人說這些文件應該保持在最低限度,甚至是空的,然後應該觀察哪些進口/出口是需要的,等等。這是我感到困惑的地方。我有我的MANIFEST.MF
文件,其中我知道要導入和導出什麼。但是,我需要一些幫助才能使.bnd
文件正常工作。現在我正在嘗試使用空的.bnd
文件,我不確定它是否正常工作。
有沒有人有這個插件的經驗和我想讓它工作的方式?
例如,here是樣本.bnd
文件。但我不知道他是如何決定這些應該進口/出口的。
截至目前,當我試圖測試.jar
我得到
no main manifest attribute, in bundle-1.0.0.jar
錯誤儘管事實上,的確有在.jar
MANIFEST.MF
。
更新:我想我可以分享我以前想要通過這個插件生成的MANIFEST.MF
。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Just a Name
Bundle-SymbolicName: just.a.name.broker;singleton:=true
Bundle-Version: 1.0.0
Require-Bundle: org.apache.activemq,
just.msg
Bundle-Activator: just.a.broker.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: javax.naming,
javax.xml,
javax.xml.parsers,
org.apache.log4j.xml,
org.osgi.framework
Bundle-ClassPath: .
Export-Package: just.a.broker
所以爲了能有這樣的表現,應該如何我.bnd
文件是什麼樣子?或者在插件中包含屬性而不是傳遞.bnd
文件更好?
謝謝!它絕對做到了! –