我試圖得到一個簡單的GWT 2.3項目DevMode的工作與構建Ant Ivy。我已經使用了常青藤項目GWT之前的2.3(特別是GWT的2.0.x),和下面的依賴關係(在我的常青藤模塊XML文件)在過去的工作對我來說(我已刪除的具體名字我的常春藤配置,並告訴他們爲 「...」 下面。)GWT 2.3從螞蟻常春藤GWT-servlet的deps.jar建立
<dependency org="com.google.gwt" name="gwt-dev" rev="2.3.0" conf="..." />
<dependency org="com.google.gwt" name="gwt-servlet" rev="2.3.0" conf="..." />
<dependency org="com.google.gwt" name="gwt-user" rev="2.3.0" conf="..." />
我的GWT編譯(當調用GWT的Java-to-JavaScript編譯)失敗但使用上述GWT 2.3下。特別是,有幾個錯誤類似以下內容:
[java] [ERROR] Errors in 'jar:file:/../gwt-user-2.3.0.jar!/com/google/gwt/editor/client/EditorDriver.java'
[java] [ERROR] Line 97: No source code is available for type javax.validation.ConstraintViolation<T>; did you forget to inherit a required module?
的可能相關文獻網上搜索後,我發現threads like this one關於類似問題的同時,從源代碼編譯的2.3候選發佈版。這些線程frequently mention,人們需要在編譯類路徑,這似乎是勞動果實周圍this issue在GWT問題跟蹤系統包括一個gwt-servlet-deps.jar
。
當然與常春藤它的不太一樣,因爲我看到了意見。上述<dependency...
規則不會出現下載gwt-servlet-deps.jar
(而不是下載GWT的官方分佈,其中該JAR的特殊副本可以找到)。
所以我推斷出,在常春藤宇宙,我可能需要添加這樣的事情:
<dependency org="javax.validation" name="validation-api" rev="1.0.0.GA" conf="..."/>
...,我想我是太糟糕了,屁股甚至有這種想法(我似乎成爲永恆的新手艾維& Maven世界)但是,唉,我仍然得到相同的錯誤。
顯然,Java-to-Javascript編譯器會喜歡源代碼,而不僅僅是字節碼jar,但我不知道如何告訴Ivy去獲取它們。我覺得我很近,因爲我發現this thread顯示了一個Ant任務,它將兩個驗證jar文件複製到lib(包括字節碼和源代碼),但我需要一些幫助來連接Ivy世界的點。
我怎麼會告訴艾維搶來源罐子?
你能重現Filipe的結果嗎?我嘗試了,我得到一個錯誤:'不可能常春藤檢索:java.lang.RuntimeException:在檢索期間的問題模塊javax.validation#validation-api; 1.0.0.GA的多個工件被檢索到相同的文件!更新檢索模式以修復此錯誤。「我不確定它們在此上下文中的」檢索模式「是什麼意思。 – pohl 2011-05-06 15:11:06
我認爲你給了我需要的幫助。經過一些閱讀和試驗後,我發現我需要修改驅動Ivy的Ant構建文件中'ivy:retrieve'元素的'pattern'屬性的模式。特別是,我需要在此末尾添加括號分類位:' ' –
pohl
2011-05-06 17:43:51