问题:我在使用gwt-maven-plugin构建的GWT 2.5.0项目上运行mvn install
并收到错误Rebind result 'c3gw.fwk.gui.client.ClientFactory' must be a class
。
这是我的pom.xml的片段:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test</goal>
<goal>i18n</goal>
<goal>resources</goal>
<goal>generateAsync</goal>
</goals>
</execution>
</executions>
<configuration>
<runTarget>C3gwGui.html</runTarget>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<i18nMessagesBundle>c3gw.fwk.gui.client.Messages</i18nMessagesBundle>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
<configuration>
<webappDirectory>${webappDirectory}</webappDirectory>
</configuration>
</plugin>
这是我的C3gwGui.gwt.xml的片段:
<replace-with class="c3gw.fwk.gui.client.ClientFactoryImpl">
<when-type-is class="c3gw.fwk.gui.client.ClientFactory" />
</replace-with>
这是引发错误的行的片段:
public void onModuleLoad() {
ClientFactory clientFactory = GWT.create(ClientFactory.class);
...
}
ClientFactory是一个接口,ClientFactoryImpl实现了接口。
到目前为止我已经弄清楚:当我运行调试时,代码在Eclipse中运行得非常好,当我执行mvn安装时它只是不起作用。我已经为gwt-maven-plugin(清理,编译,来源等等)运行了所有可用的目标而且它们都有效,所以我现在唯一可以得出的结论就是在maven-war期间发生了一些事情-plugin阶段或更晚。
我还从以下google tutorial中获取了此代码的基础知识,并且它们使用了一个接口,因此它应该可以工作,假设示例项目也可以正常工作。
答案 0 :(得分:0)
消除战争:正如托马斯所指出的那样爆炸,解决了这个问题。