2011-05-23 105 views
0

如果Eclipse中的gwt項目使用Eclipse使用自動編譯功能編譯java代碼,那麼使用ant的gwtc編譯不會顯示任何問題。但是,如果我清理所有現有的.class文件,然後執行它運行的javac,然後gwtc,我與我的JPA實體問題,如Ant構建:使用javac/gwt編譯ant的時候顯示錯誤eclipse/gwt編譯時不顯示

[錯誤] 12行:沒有源代碼可用於類型javax.persistence.metamodel.SingularAttribute;你忘了繼承一個必需的模塊嗎?

我應該注意到,我確保ant build的類路徑使用Eclipse「Java Build Path」中存在的相同的一組庫。由於Eclipse顯然沒有提供構建過程的日誌,所以我無法確定是否存在一些分歧。由於項目必須在構建服務器上構建Hudson(具有我概述的問題),因此我不能依賴開發機器進行.class生成,然後使用gwtc進行gwt編譯。

回答

0

如果JPA實體位於單獨項目中,則需要將.java文件也包含在單獨項目的jar文件中。

否則,您需要確保所有JPA實體都位於GWT模塊的客戶端目錄中。

+0

我應該指定它們包含在項目中,而不是一個單獨的項目。我們一直在使用這種技術一段時間,但突然出現這個問題。我認爲Eclipse使用的jar不同於我在WEB-INF/lib中使用的jar(儘管它們與java構建路徑匹配),或者它是一些排序問題。 – sldahlin 2011-05-24 14:39:17