我整天都在努力使用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。