1

我有一种情况,我正在通过 -noserver 进行调试,并且每次我的 RPC 对象之一发生更改或我收到序列化错误时,它都会强制我重新编译我的 gwt 应用程序(这在 GWT 文档中有很好的描述,我理解它发生的原因) .

话虽如此,我们的项目变得相当大,编译需要一段时间才能完成,这减慢了我们的开发过程。我已经尽可能地优化了这个(使用-draftCompile,只做一个排列,并跳过所有测试),但它仍然很慢,而且我有一台非常糟糕的计算机。

这让我想知道这里是否有更好的选择是让编译器只输出必要的文件以使序列化正常工作。

有谁知道这是否可能?

谢谢!

4

1 回答 1

-2

您可以使用 Maven 目标来完成。在 Eclipse“运行配置”中,我有一个特定的配置。

Goals: gwt:generateAsync gwt:i18n gwt:css
Profiles: dev-ff

gwt:generateAsync 目标是生成 RPC。这是 gwt-maven-plugin 的标准目标(当然,假设您正在使用它)。配置文件:dev-ff 确保我只会为 Firefox 生成代码。

这是 maven 插件配置的一部分。注意目标定义。您至少需要 servicePattern 属性来告诉插件您的 RPC 接口在哪里。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>${gwt-maven-plugin.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test</goal>
                <goal>i18n</goal>
                <goal>css</goal>
                <goal>generateAsync</goal>
            </goals>
        </execution>
    </executions>
    <!-- Plugin configuration. There are many available options, see gwt-maven-plugin 
                    documentation at codehaus.org -->
    <configuration>
        <servicePattern>**/*RPC.java</servicePattern>
    </configuration>
</plugin>

完成此类操作后,我经常不得不打开生成的异步文件以使它们与 Eclipse 同步。后来我们发现我们可以删除 target/ 文件夹中的 gwt-unitCache/ 文件夹来强制应用程序使用新的 RPC 类。

有关该插件的更多信息,请参见此处

于 2013-08-14T07:40:34.600 回答