4

大约 1 周前,我们决定在我们的应用程序中使用 gwt 模块。我们使用gwt-maven-eclipsetrio,并且我们已经配置了阶段和目标。此外,我们正在进行上下文部署以减少开发和测试时间。

但;

当我们packagetomcat:deploy我们的应用程序时,gwt 模块是re-compiling(包括未更改的)。

<set-property name="user.agent" value="gecko1_8"></set-property>
<extend-property name="locale" values="en_UK"></extend-property>

我已经在此处设置了这些属性以加快编译时间,但这并不是我想要的……我还配置了maven 生命周期映射以在任何资源更改时eclipse触发。gwt:compile process-resources resources:testResources但它会阻止 Eclipse,这对编译时间也没有帮助。

这是中的gwt-maven-plugin配置pom.xml

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>2.3.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
                <!--
                    Plugin configuration. There are many available options, see
                    gwt-maven-plugin documentation at codehaus.org
                -->
                <configuration>
                    <runTarget>A.jsp</runTarget>
                    <runTarget>B.jsp</runTarget>
                    <hostedWebapp>${webappDirectory}</hostedWebapp>
                </configuration>
            </plugin>

有什么想法可以帮助我吗?

4

1 回答 1

5

gwt-maven-plugin 在代码未更改时尝试(努力)避免重新编译模块,但即使这样也需要一些时间(仍然少于重新编译模块;不幸的是,如果它检测到模块需要重新编译,它加起来就是 GWT 编译时间)。

如果您知道不需要gwt:compile,您可以传递-Dgwt.compiler.skip=true给您的 Maven 构建以跳过目标并继续“运行”您之前编译的代码。同样,如果你知道你需要 gwt:compile,你可以通过-Dgwt.compiler.force=true绕过“最新检查”。

于 2011-07-05T09:01:51.713 回答