2012-04-03 5 views
1

私は単にそのようグアバライブラリをインポートして、私のプロジェクトの罰金のJavaのバージョンを実行することができますアドバイスherePlayNでは、GoogleのGuavaライブラリを使用してコンパイルするプロジェクトのHTMLバージョンを取得するにはどうすればよいですか?

import com.google.gwt.thirdparty.guava.common.collect.ImmutableList; 

、私は、HTML /のpom.xmlに次の行を追加しました:

<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava-gwt</artifactId> 
    <version>10.0.1</version> 
</dependency> 

とHTML/project.gwt.xmlファイルに次の行:

<inherits name="com.google.common.collect.Collect"/> 

しかし、私はEclipseでGWT-コンパイル私のHTMLバージョンにしようとしたとき、私はリクエラーが発生します次のようになります。

[ERROR] Line 61: No source code is available for type com.google.gwt.thirdparty.guava.common.collect.ImmutableList<E>; did you forget to inherit a required module? 
+0

クラスパスをcom.google.coに変更する方法については、[this post](http://stackoverflow.com/questions/7794014/guava-gwt-and-eclipse)をご覧くださいmmon.base。これを試してみたが、事態を悪化させたようだった。 – klenwell

+0

私はあなたのケースでは 'com.google.common.collect'であるべきだと思います。 –

答えて

3

間違ったクラスをインポートしている可能性があります。 com.google.gwt.thirdparty.guava.common.collect.ImmutableListのインポートをcom.google.common.collect.ImmutableListに置き換えてください。ここで

Listsクラスについて同様の質問です:Trouble with GWT and Guava

+0

だから私はすべてのインポート文を 'import com.google.gwt.thirdparty.guava.common.collect.Foo;'から 'com.google.common.collect.Foo;'に変更する必要がありますか? – klenwell

+1

私はあなたがすべきことであることに同意します。 –

+1

はい、あなたは決してそのgwt.thirdpartyものをインポートすることはできませんでした。これはGWTのコードの古代版の内部コピーです。 –

2

それは私が正しい方向に向かってしまったように私は@eneveu's answerを選択しました。ここでは、PlayNプロジェクトのHTML版でGuavaを有効にするためのより明示的な手順を示します。

1.その後、パッケージエクスプローラウィンドウでYourGame-coreディレクトリを右クリックしYourGameコア/のpom.xmlに

<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava-gwt</artifactId> 
    <version>11.0.2</version> 
</dependency> 

2.依存関係を追加します。Mavenの>アップデートの依存関係を

3. HTML5の場合、この行をYourGame-html/YourGame.gwt.xmlに追加します。

<inherits name="com.google.common.collect.Collect"/> 

4.インポートする場合は、正しいライブラリー・パスを使用します。

import com.google.common.collect.Foo; 
/* NOT: import com.google.gwt.thirdparty.guava.common.collect.Foo; */ 

私は下のリンクでコードをコンパイルし、グアバが正常にインポートされることを確認するために、Chromeでテストした:

関連する問題