我是新來的,現在正在學習OSGi。我正在嘗試使用OSGi MANIFEST.MF文件在其中進行maven項目。在對bundle激活器類和MANIFEST.MF文件進行編碼之後,我「mvn package」它,並將OSGi安裝在控制檯中。那麼這個問題就發生在我的包名爲mvn-package-ed的時候,而不是這個名字。OSGi - 爲什麼我的包名爲「unknown-0.0.0」並且MANIFEST.MF文件被覆蓋?
unknown-0.0.0
然後,當我檢查MANIFEST.MF文件中的.jar裏面,裏面是這樣的:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: 5111100191
Created-By: Apache Maven 3.2.1
Build-Jdk: 1.8.0_40
,而不是當我編寫這樣的:
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.pragprog.HelloWorld
Bundle-Name: HelloWorld
Bundle-Version: 1.0.0
Bundle-Activator: com.pragprog.hello.HelloWorld
Import-Package: org.osgi.framework
我猜測我編碼的MANIFEST.MF在mvn打包時某種程度上沒有加載。這是我的項目目錄結構
HelloWorld
/src
/main
/java
/com.pragprog.hello.HelloWorld.java
/resources
/META-INF/MANIFEST.MF
/test
/java
/resources
/target
/**.jar file here**/
pom.xml
我已經搜索了這個,但無法找到任何明確的解決方案。那麼我該如何解決這個問題?
在此先感謝。
我建議使用一個特定的OSGi Maven插件,例如[Apache Felix Maven Bundle插件](http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html) – stempler 2015-04-03 08:36:51