2012-03-15 4 views
3

GuavaにGWTを使用させることができません。私はEclipseを使用しています。私はguava-11.0.2.jarguava-gwt-11.0.2.jarをクラスパスに追加し、モジュールcom.google.common.collect.Collectを私のgwt.xmlファイルに継承しましたが、まだ動作させることはできません。GuavaがGWTで動作するようにする

コンパイルしますが、実行すると多くのエラーが表示されます。多くの人が解決できないアノテーションを参照していますjavax.annotation.Nullable

私はクラスパスにjsr305.jarを追加しようとしましたが、何もチャンドしませんでした。 :

また多少の誤差は、私は(10.0.1、11.0.1、11.0.2と試み)を含むとIが含まかどうjsr305.jar

これらのエラーのいくつかの例は、グアバのバージョンに応じて表示されます

  • タイプPersonActivity.PersonFilterPredicateはタイプOrdering<T>方法compare(T, T)継承された抽象メソッドPredicate<PersonRoleProxy>.apply(Object)
  • を実装する必要があり、引数には適用されません(Object, Object)

コードがコンパイルされ、コンパイル時にこれらの種類のエラーが表示されるため、これは非常に奇妙です。

答えて

4

@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.*

であることを確認することもできます。これは現時点では私たちの側のいくつかの大きな棘の一つです。

1

次の回避策は

  • グァバ14.0 RC1と
  • jsr305-1.3.9.jarとGWT 2.4.0のために働く

Annotation.gwt.xml持つという名前のファイルを作成します。次の内容:

<module> 
    <source path=""/> 
</module> 

jsr305-1.3.9.jarこのファイルをサブダイアルにコピーします。 ctory javax/annotation

.gwt.xmlファイル、アプリケーションに次の行を追加します。

<inherits name='javax.annotation.Annotation'/> 
関連する問題