0

gwt maven プロジェクトを作成しました。mvp4g を使用しており、maven を使用して必要なすべての jar を含め、pom.xml には次の依存関係が含まれています。

 <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-assisted-inject</artifactId>
            <version>2.0</version>
        </dependency>
<dependency>
            <groupId>com.google.gwt.inject</groupId>
            <artifactId>gin</artifactId>
            <version>2.0.0</version>
        </dependency>
<dependency>
            <groupId>com.googlecode.mvp4g</groupId>
            <artifactId>mvp4g</artifactId>
            <version>1.4.0</version>
        </dependency> 

しかし、コンパイル中にこの例外が発生します:

java.lang.NoSuchMethodError: com.google.gwt.inject.client.GinModules.properties()[Ljava/lang/String; com.google.gwt.inject.rebind.GinjectorGenerator.getPropertyNamesFromInjectorInterface(GinjectorGenerator.java:185) で com.google.gwt.inject.rebind.GinjectorGenerator.getPropertyModuleNames(GinjectorGenerator.java:155) で

jarが見つからないか、バージョンの問題がありますか?

4

1 に答える 1

0

なぜginアーティファクトの異なるバージョンを定義しているのですか?mvp4gアーティファクトにはすでに依存関係がありますが、異なるバージョンになっているためです。

   <dependency>
        <groupId>com.google.gwt.inject</groupId>
        <artifactId>gin</artifactId>
        <version>1.5.0</version>
    </dependency>

ginアーティファクトへの明示的な依存関係を削除し、mvp4gアーティファクトによって定義されたバージョンを残すことをお勧めします。さらに、ginアーティファクト自体にはすでにguice-assistentアーティファクトなどへの依存関係があります。したがって、mvp4gを唯一の依存関係として使用し、mavenにその仕事を任せてください。これが機能する場合は、バージョンをたとえばgoogleguiceに変更できます。

于 2012-12-26T11:42:36.890 に答える