我整天都在努力使用GWTP运行Maven,本质上我是使用Eclipse插件创建了GWTP gwt应用程序。并添加了一个简单的欢迎演示者。在没有Maven的情况下进行了尝试,并且可以很好地在Eclipse上运行。

但是,当我将其转换为Maven项目(我正在使用m2eclipse插件)时,一切都会中断。因此,我添加了必需的依赖项和gwtp依赖项:

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

 <!-- MVP component -->
<dependency>
    <groupId>com.gwtplatform</groupId>
    <artifactId>gwtp-all</artifactId>
    <version>${gwtp.version}</version>
</dependency>

但是,当我尝试运行它时,出现此错误:
Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.google.gwt.event.shared.EventBus' (did you forget to inherit a required module?)

任何想法为什么很难用Maven制作GWTP。

最佳答案

我认为您可能缺少gwt-user依赖性。这是我的GWTP项目的maven pom.xml:

<properties>
    <gwtVersion>2.4.0</gwtVersion>
    <gwtp.version>0.7</gwtp.version>
</properties>
<dependencies>
    <dependency>
       <groupId>com.google.gwt</groupId>
   <artifactId>gwt-user</artifactId>
   <version>${gwtVersion}</version>
   <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.gwtplatform</groupId>
    <artifactId>gwtp-mvp-client</artifactId>
    <version>${gwtp.version}</version>
    <scope>provided</scope>
</dependency>
<!-- Dispatch component -->
<dependency>
    <groupId>com.gwtplatform</groupId>
    <artifactId>gwtp-dispatch-client</artifactId>
    <version>${gwtp.version}</version>
    <scope>provided</scope> <!-- Remove for GWTP 0.5.1 and earlier -->
</dependency>
<!-- Tester component -->
<dependency>
    <groupId>com.gwtplatform</groupId>
    <artifactId>gwtp-tester</artifactId>
    <version>${gwtp.version}</version>
    <scope>test</scope>
</dependency>

如果您使用最新的gwtp 0.7,请注意它们已从com.google.gwt.event.shared中已弃用的类切换到com.google.web.bindery.event.shared

有关更多详细信息,请参见here

07-24 12:47