2012-12-26 60 views
0

我創建GWT Maven項目。在我使用mvp4g,其中包括使用maven和pom.xml的所有必要的罐子包括以下依存關係:java.lang.NoSuchMethodError:com.google.gwt.inject.client.GinModules.properties()[Ljava/lang/String;

<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; at com.google.gwt.inject.rebind.GinjectorGenerator.getPropertyNamesFromInjectorInterface(GinjectorGenerator.java:185) at com.google.gwt.inject.rebind.GinjectorGenerator.getPropertyModuleNames(GinjectorGenerator.java:155)

是否有任何jar丟失或版本問題。

回答

0

你爲什麼要定義一個不同版本的杜松子酒神器,導致mvp4g artifact有已經是依賴,而是一個不同的版本:

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

我建議剛刪除的顯式依賴於杜松子酒神器離開該版本由mvp4g工件定義。 此外gin artifact itself has already dependencies到guice-assistent神器等。所以只需使用mvp4g作爲唯一的依賴,讓maven做它的工作。如果這項工作可以將版本更改爲google guice。