Как скомпилировать только измененные части модулей gwt? - PullRequest
4 голосов
/ 05 июля 2011

Мы решили использовать модули gwt в нашем приложении около 1 недели назад.Мы используем gwt-maven-eclipse трио, и мы уже настроили фазы и цели.Также мы делаем развертывание контекста, чтобы сократить время разработки и тестирования.

НО;

Когда мы package или tomcat:deploy нашего приложения, модули gwt имеют значение re-compiling (включая неизмененные).

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

Я уже настроил эти свойства здесь, чтобы ускорить время компиляции, но это не , что я хочу точно ... Я также настроил maven lifecycle mapping в eclipse запускать gwt:compile process-resources resources:testResources при изменении любых ресурсов.Но он блокирует затмение, и это также не помогло во время компиляции.

Это 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>

Есть идеи, чтобы помочь мне?

1 Ответ

5 голосов
/ 05 июля 2011

gwt-maven-plugin (сильно) пытается избежать перекомпиляции модулей, когда код не изменился, но даже это занимает немного времени (все же меньше, чем перекомпиляция модуля; и, к сожалению, если он обнаруживает, что модуль нуждается в этом)для перекомпиляции он добавляет время компиляции GWT).

Если вы знаете , вам не нужно gwt:compile, вы можете передать -Dgwt.compiler.skip=true в свою сборку Maven, чтобы пропуститьцель и продолжать "запускать" ранее скомпилированный код.Точно так же, если вы знаете, что нужен gwt:compile, вы можете передать -Dgwt.compiler.force=true, чтобы обойти "актуальную проверку".

...