2016-06-22 41 views
0

我剛開始學習如何構建一個bnd OSGI項目。 我嘗試運行一個非常簡單的項目,沒有任何錯誤消息,但是當我到localhost時,它顯示「HTTP ERROR:404」。bnd osgi項目沒有通過Firefox運行

的簡單類:

enter image description here

的Activator類: enter image description here

休息編譯依賴

enter image description here

運行依賴

enter image description here

HTTP錯誤:

enter image description here

感謝您的幫助!

回答

3

您的課程使用jax-rs註釋進行註釋併發布OSGi服務。如果這將服務公開爲REST資源,則取決於您安裝的軟件包。

您必須安裝一個監視此類服務的包併爲它們創建REST端點。

請參閱enter link description here 我認爲您至少還需要將org.amdatu.web.wink包添加到您的bdnrun文件中。

+0

我已經加入幾束(包括web.wink),並嘗試創建一個激活劑類,但它不工作...我這是新的,感謝您的幫助 – xiao

+0

您目前正在使用聲明式服務。所以你不應該使用Activator。如果您想在組件出現時運行某些內容,請使用@Activate批註。 –

+0

我已將其刪除。它仍然不起作用。 – xiao

4

org.amdatu.web.rest.wink捆綁包的最新2.0.4版本與Felix Http Jetty 3.x不兼容。

如果您將該捆綁包的版本固定到2.0.3版本,應該按預期工作。要做到這一點變化org.amdatu.web.rest.wink進入你的runbnd.bndrun -runbundles到:

org.amdatu.web.rest.wink;version='[2.0.3,2.0.3]'

+0

我認爲就是這樣。演示軟件包具有相同的問題,請參閱郵件列表:http://lists.amdatu.org/pipermail/users/2016-May/000455.html – Jeroen