2010-10-12 32 views
1

我試圖把GWT Eclipse項目放到Bundle-Jar文件中。 爲此,我必須將war文件夾添加到捆綁包中。問題是GWT編譯器在war/WEB-INF/classes文件夾中添加了所有* .class文件。 BND嘗試在jar文件中添加所有* .class文件,但它們在項目中的路徑錯誤。那就是問題所在!因此,我在我的BND文件中尋找正確的Include-Resource:屬性。從包中排除子目錄; Include-Resource在BND文件

是否有人有一個想法,我可以從Include-Resource表達式中排除特殊文件。

它工作,如果我刪除每個類的子文件夾。但幾秒鐘後,GWT SDK將生成這些類。

非常感謝

塞巴斯蒂安

回答

0

請檢查:http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html#ApacheFelixMavenBundlePlugin%28BND%29-Instructions

<出口型包裝> ...有可能通過啓動 包裝模式,以排除使用否定包與'!'。因此,非否定模式指示哪些 可用包要包含在 中,而否定模式 指示哪些不應包含在捆綁中的 。

你也可以檢查這個項目:「http://bitbucket.org/MikhailKotelnikov/projecttemplate」。它是一個簡單的OSGi/GWT應用程序的模板。 在這裏,我做的所有GWT依賴的類像往常一樣的編譯/包裝,但我增加了以下說明爲BND工具:

DynamicImport-Package: * 
Import-Package: *;resolution:=optional 

在這種情況下BND認爲,這些包會由OSGi environmet在提供運行時間和它正確地完成這項工作。

+1

我實際上不鼓勵使用這兩條指令。 DynamicImport-Package實際上可以讓你吮吸框架中可用的任何包,而且它確實是應該在所有其他方法失敗時才使用的。添加解析對於導入來說是可選的,同樣棘手,在這裏你會說:「嘿,我可以使用或不使用這些軟件包,我的軟件包會處理這個問題」當我懷疑你的情況時,如果這些導入實際上不能解決,代碼將失敗,類沒有發現異常。 – 2010-12-09 22:25:37