我正在嘗試使用Felix Dependency捆綁包在Apache Felix上運行應用程序。由於某種原因,容器不能加載我的包。Felix捆綁failng加載
我正在使用Eclipse中的Bndtools進行開發。我正在使用Amdatu包。
我關心的束是在我的「運行要求」包:
org.apache.felix.dependencymanager
org.apache.felix.dependencymanager.shell
org.apache.felix.dependencymanager.runtime
osgi.core
osgi.cmpn
上述所有的包都從Amdatu倉庫取。
我有我創建了兩個包:
com.test.demo.reader
com.test.demo.listener
而且這些捆綁使用org.apache.felix.dependencymanager和osgi.core建成。
當我嘗試運行OSGi中,我得到了以下故障:
! could not resolve the bundles: [com.test.demo.reader-1.0.0 Unresolved constraint in bundle
com.test.demo.reader [8]: Unable to resolve 8.0: missing requirement
[8.0] osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.dm)(version>=3.0.0)(!(version>=4.0.0))),
com.test.demo.listener-1.0.0 Unresolved constraint in bundle com.test.demo.listener [9]:
Unable to resolve 9.0: missing requirement [9.0] osgi.wiring.package;
(&(osgi.wiring.package=com.test.demo.reader)(version>=1.0.0)(!(version>=2.0.0)))
[caused by: Unable to resolve 8.0: missing requirement [8.0] osgi.wiring.package;
(&(osgi.wiring.package=org.apache.felix.dm)(version>=3.0.0)(!(version>=4.0.0)))]]
和
! Failed to start bundle com.test.demo.reader-1.0.0, exception Unresolved constraint in
bundle com.test.demo.reader [8]: Unable to resolve 8.0: missing requirement [8.0]
osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.dm)(version>=3.0.0)
(!(version>=4.0.0)))
多
! Failed to start bundle com.test.demo.listener-1.0.0, exception Unresolved constraint in
bundle com.test.demo.listener [9]: Unable to resolve 9.0:
missing requirement [9.0] osgi.wiring.package; (&(osgi.wiring.package=com.test.demo.reader)
(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve 8.0: missing requirement
[8.0] osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.dm)(version>=3.0.0)
(!(version>=4.0.0)))]
我想我明白髮生了什麼:顯然,正在使用的org.apache.dm軟件包是一個與我的軟件包不兼容的版本。但這沒有任何意義,因爲根據Felix文檔,org.apache.dm包位於org.apache.felix.dependencymanager包中。該軟件包來自Amdatu存儲庫,它是我用於我的應用程序的唯一版本的軟件包!當它們是我的捆綁包知道的唯一版本時,該版本與我的捆綁軟件不兼容?
有人請指教。是什麼導致了這個失敗,我該如何修復它?
處於主動/ resolved狀態的3個菲利克斯DM包?它們是什麼版本,3.0.0,3.1.0或3.2.0? – earcam
3捆綁顯然無法解決(基於失敗消息)。我錯誤地認爲它在運行時包中,但它實際上是在org.apache.felix.dependencymanager包中(我將在我的原始文章中更正這個)。 Amdatu軟件包附帶的軟件包版本是4.0.2(我認爲)。我懷疑我可能需要找到更早的版本。我會看看我是否可以找到並更新發生的事情...... –