我有一個大的Java EE應用程序和一個簡單的OSGi Bundle應用程序。我需要在我的包中使用此Java EE應用程序中的Java類。我怎樣才能做到這一點?如何從Java項目導入包到OSGi Bundle項目?
我嘗試在我的Bundle的Java Build Path中包含Java EE應用程序作爲「必需項目」,但它不適用於我。
我有一個大的Java EE應用程序和一個簡單的OSGi Bundle應用程序。我需要在我的包中使用此Java EE應用程序中的Java類。我怎樣才能做到這一點?如何從Java項目導入包到OSGi Bundle項目?
我嘗試在我的Bundle的Java Build Path中包含Java EE應用程序作爲「必需項目」,但它不適用於我。
假設您需要將Java EE類作爲庫來使用,那麼可以將它們打包爲一個jar包,並使用Bundle-ClassPath指令。
看看bndtools(或maven bundle插件)。用bnd包含來自其他項目的類是微不足道的。
因此,在bndtools中,您只需在構建路徑中添加Java EE應用程序,然後使用Private-Package指令以及要包含在軟件包中的軟件包名稱,則允許使用通配符。
您也可以製作一個包含所有共享類的包。然後將該軟件包添加到Java EE應用程序中。
Bundle-Classpath只能在OSGi中使用,當你在其他的envs中使用jar時,它不起作用。 – 2013-04-18 12:40:09