1

我在这里阅读了其他几个问题和答案,但似乎都没有帮助我。我正在尝试构建一个 mgwt 项目,该项目将有很多排列,因此内存设置必须非常高。

我正在使用 maven4eclipse 插件以包为目标进行构建,在我的运行配置的 jre 选项卡上,我设置了以下内容

vm args:-Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=64m

尝试运行时失败并返回此错误:

[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.3.0-1:compile (default) on project: Command [[
[ERROR] **C:\Program Files\Java\jdk1.7.0_17\jre\bin\java -Xmx512m** -classpath "..others stuff" -logLevel INFO -style OBF -war "Branch(mobile)\Project\target\Mobile-webcontent" -localWorkers 8
[ERROR] ]] failed with status 1
[ERROR] -> [Help 1]

这向我表明我设置的参数没有被使用,我是否将它设置在错误的位置?

4

2 回答 2

4

用于 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>
于 2013-04-24T14:25:01.407 回答
2

gwt-maven-plugin分叉一个 JVM,并且不会从用于运行 Maven 的 JVM 继承设置。

如果您需要针对分叉 JVM 的特定 JVM 设置,您可以使用POM 中的 in 或<extraJvmArgs><configuration>命令行上进行设置。gwt-maven-plugin-Dgwt.extraJvmArgs="-Xms1g -Xmx2g"

http://www.mojohaus.org/gwt-maven-plugin/compile-mojo.html#extraJvmArgs

于 2013-04-24T13:06:46.820 回答