簡體   English   中英

讓Guava參與GWT工作

[英]Getting Guava to work on GWT

我無法讓Guava與GWT合作。 我正在使用Eclipse,我已經將guava-11.0.2.jarguava-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

  • 番石榴14.0 RC1和
  • jsr305-1.3.9.jar

使用以下內容創建名為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM