-1
我有一個OSGI包。該包嵌入(使用)包含一個類的jar。這個嵌入類可以是OSGI組件嗎?我試圖用@Component對它進行註釋,但它不起作用。可以將類嵌入到OSGI包中作爲一個組件嗎?
我有一個OSGI包。該包嵌入(使用)包含一個類的jar。這個嵌入類可以是OSGI組件嗎?我試圖用@Component對它進行註釋,但它不起作用。可以將類嵌入到OSGI包中作爲一個組件嗎?
聲明式服務在運行時只要求:
Service-Component
在MANIFEST.MF
引用。所以,一個嵌入JAR中的類可以是一個組件。 JAR必須列在Bundle-ClassPath
上,並且描述符必須出現在捆綁JAR中。
話雖如此,這是一個奇怪的要求。爲什麼要將組件嵌入到捆綁包中的JAR中,而不是將它們直接放入捆綁包中?組件非常適合您的軟件包的入口點。
簡短的答案是「是」,只要該類可以加載,並且描述符在OSGI-INF下可見。你能定義「不起作用」嗎?或告訴我們你做了什麼? –
爲什麼要嵌入一個包含組件的jar?爲什麼不是一個捆綁軟件並單獨安裝? –
我認爲問題在於Bundle-Classpath中的jar中的類沒有被bnd處理,以將@Component註釋映射到組件描述XML文件中。我會懷疑bnd只處理包中直接在DS註釋中使用的類。 –