【问题标题】:java.lang.NoSuchMethodError: com.google.gwt.inject.client.GinModules.properties()[Ljava/lang/String;java.lang.NoSuchMethodError: com.google.gwt.inject.client.GinModules.properties()[Ljava/lang/String;
【发布时间】:2012-12-26 08:22:20
【问题描述】:

我已经创建了 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丢失或版本问题?

【问题讨论】:

    标签: maven-2 mvp4g


    【解决方案1】:

    你为什么要定义一个不同版本的 gin 工件,因为 mvp4g artifact 已经有一个依赖但是不同的版本:

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

    我建议只删除对 gin artifact 的显式依赖并保留由 mvp4g artifact 定义的版本。 此外,gin artifact itself has already dependencies 到 guice-assistent 工件等。所以只需使用 mvp4g 作为唯一依赖项,让 maven 完成它的工作。如果这可行,您可以将版本更改为 google guice。

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2019-07-22
      • 2019-05-28
      相关资源
      最近更新 更多