用于 GWT 编译的示例 POM 文件,其中包含为大多数 GWT 编译器选项(包括 JVM 选项)配置的设置。
<plugins>
<!-- GWT Maven Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<version>${gwt.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${gwt.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>${gwt.version}</version>
</dependency>
</dependencies>
<!-- JS is only needed in the package phase, this speeds up testing -->
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<!-- Plugin configuration. There are many available options, see gwt-maven-plugin
documentation at codehaus.org -->
<configuration>
<skip>true</skip>
<strict>true</strict>
<runTarget>app.html</runTarget>
<!-- Turning This on after understanding soyc -->
<!-- https://developers.google.com/web-toolkit/articles/fragment_merging -->
<!-- <fragmentCount>95</fragmentCount> -->
<!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
<!-- Turn This on for generating soyc. This does not work if closure
compiler is turned on. -->
<compileReport>false</compileReport>
<compilerMetrics>false</compilerMetrics>
<soycDetailed>false</soycDetailed>
<!-- End Generating SOYC -->
<disableCastChecking>true</disableCastChecking>
<disableClassMetadata>true</disableClassMetadata>
<enableClosureCompiler>true</enableClosureCompiler>
<optimizationLevel>9</optimizationLevel>
<style>${gwt.style}</style>
<module>${gwt.module}</module>
<encoding>${project.build.sourceEncoding}</encoding>
<logLevel>INFO</logLevel>
<!-- ERROR, WARN, INFO, TRACE, DEBUG, SPAM, or ALL). -->
<copyWebapp>true</copyWebapp>
<hostedWebapp>${project.build.directory}/${project.artifactId}</hostedWebapp>
<extraJvmArgs>-Xmx4096M -Xms1024M -XX:PermSize=128m -XX:MaxPermSize=256m</extraJvmArgs>
<!-- <extraJvmArgs>-Xmx1024M -Xms1024m -Xss32m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -DgeneratePom=true -XX:ReservedCodeCacheSize=128m -XX:+PrintCompilation -server</extraJvmArgs> -->
<extra>${project.build.directory}/gwt-extra</extra>
<deploy>${project.build.directory}/gwt-deploy</deploy>
<localWorkers>4</localWorkers>
</configuration>
</plugin>