0
在我已經看了1.6.0後SLF4J的所有版本中,SLF4J的API MANIFEST.MF樣子(這是1.7.21):SLF4J OSGi如何在軟件包版本中顯示不匹配?
Import-Package: org.slf4j.impl;version=1.6.0
但後端(如slf4j- log4j12)說:
Export-Package: org.slf4j.impl;version=1.7.21
這不合適,它會導致未解決的封裝佈線。
我知道很多人在OSGi中使用SLF4J。哎呀,我使用它,它的工作原理,但pax日誌記錄可能會模糊這個問題。我錯過了什麼嗎?
哦。我認爲你需要[1.6.0,2.0)來獲得'至少'。 – bmargulies
但現在我知道更好。 – bmargulies
來自osgi-core規範:因此,API的使用者應該導入一個以基本版本開始的範圍,並在下一個主要更改時結束 ,例如:[4.2,5)。 API的提供者應該導入一個範圍 以基礎版本開始,直到下一個小的更改,例如:[4.2,4.3).'。另外:'如果版本範圍被指定爲單個版本,則它必須被解釋爲範圍[版本,∞)。' – Renato