我正在尝试使用maven配置文件来减少gwt项目的编译时间,以设置我是想要所有排列还是只需要其中一些排列。
我按照教程:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/
然而,它没有说明如何创建这两个模块(生产和开发)。这些是application.gwt.xml文件,如果是,那么放在哪里?如果我在同一目录中使用两个application.gwt.xml文件,我会不断收到编译错误。请提供更多详细信息,以便能够实现这两个maven资料。
答案 0 :(得分:0)
您可以做的简单事情是使用maven replace插件并在编译期间(用于开发配置文件)注入user.agent属性。
<module ...>
...
<!-- Speed up compilation just for Chrome and Safari on development machines by reducing permutations-->
<!-- REPLACE -->
....
</module>
<profiles>
<profile>
<id>dev-build</id>
<activation>
<property>
<name>gwtUserAgent</name>
<value>overwrite</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.3.5</version>
<executions>
<execution>
<id>devChromeGWTCompileReplace</id>
<phase>validate</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<file>PATH_TO_YOUR_GWT_FILE.gwt.xml</file>
<replacements>
<replacement>
<token><!-- REPLACE --></token>
<value><set-property name="user.agent" value="safari" /></value>
</replacement>
</replacements>
</configuration>
</execution>
<execution>
<id>devChromeGWTCompileReplaceReverse</id>
<phase>install</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<file>PATH_TO_YOUR_GWT_FILE.gwt.xml</file>
<replacements>
<replacement>
<token><set-property name="user.agent" value="safari" /></token>
<value><!-- REPLACE --></value>
</replacement>
</replacements>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
请注意将PATH_TO_YOUR_GWT_FILE.gwt.xml替换为您的GWT文件。
执行
时会发生什么mvn install -DgwtUserAgent=overwrite
或
mvn install -P dev-build
验证(第一阶段) - 更改替换令牌
<!-- REPLACE -->
到
<set-property name="user.agent" value="safari" />
然后它将使用活动的user.agent属性构建工件
最后(在安装阶段),它将放回初始令牌
<!-- REPLACE -->
以便您的来源保持不变。