您可以做的简单事情是使用 maven replace 插件并在编译期间(对于开发配置文件)注入 user.agent 属性。
- 在您的 *.gwt.xml 文件中添加一条评论:
<module ...>
...
<!-- Speed up compilation just for Chrome and Safari on development machines by reducing permutations-->
<!-- REPLACE -->
....
</module>
- 在 maven pom.xml 中定义一个开发配置文件,可以通过属性手动激活(或通过明确告诉 maven 这样做)
<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" />
然后它将使用 active user.agent 属性构建工件
最后(在安装阶段)它将放回初始令牌
<!-- REPLACE -->
使您的来源保持不变。