[英]Getting Guava to work on GWT
我無法讓Guava與GWT合作。 我正在使用Eclipse,我已經將guava-11.0.2.jar
和guava-gwt-11.0.2.jar
到我的類路徑中,繼承了我的gwt.xml
com.google.common.collect.Collect
模塊文件,但仍然無法使其工作。
它會編譯,但是當我運行它時會出現很多錯誤。 其中許多引用了無法解析的注釋javax.annotation.Nullable
我嘗試將jsr305.jar
添加到我的類路徑但沒有任何chanded。
還會出現一些錯誤,具體取決於我包含的番石榴版本(嘗試使用jsr305.jar
)以及是否包含jsr305.jar
這些錯誤的一些例子是:
PersonActivity.PersonFilterPredicate
類型必須實現繼承的抽象方法Predicate<PersonRoleProxy>.apply(Object)
Ordering<T>
類型中的方法compare(T, T)
不適用於參數(Object, Object)
這很奇怪,因為代碼編譯並且這些錯誤應該在編譯時出現。
我們一直難以找出@Nullable
問題的解決方案,我們認為這是一個GWT問題。 您可以訪問http://code.google.com/p/guava-libraries/issues/detail?id=776我們正在努力尋求GWT團隊的幫助,但最近有些事情讓我感到很瘋狂。我們感興趣的編譯器工作的人。看起來你可以通過從GWT編譯參數中刪除-strict
來解決問題,但當然這是一個糟糕的解決方法。
其他用戶的體驗表明,您看到的奇怪的其他錯誤與@Nullable
問題有關,但我還沒有看到明確的確認。 您可能還確認所有導入都是com.google.common.*
而不是com.google.gwt.thirdparty.guava.common.*
對不起,所有的煩惱。 這是我們此刻的一些主要荊棘之一。
以下解決方法適用於GWT 2.4.0
使用以下內容創建名為Annotation.gwt.xml的文件:
<module>
<source path=""/>
</module>
在存檔jsr305-1.3.9.jar中將此文件復制到子目錄javax / annotation中。
將以下行添加到應用程序.gwt.xml文件中:
<inherits name='javax.annotation.Annotation'/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.