Maven Eclipse插件增加了内存?

时间:2013-04-24 12:42:54

标签: maven gwt jvm-arguments mgwt gwt-maven-plugin

我在这里阅读了其他几个问题和答案,其中任何一个似乎都没有帮助我。我正在尝试构建一个具有大量排列的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]

这向我显示我设置的参数未被使用,我是否将它设置在错误的位置?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

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

如果您需要分叉JVM的特定JVM设置,可以使用POM中<extraJvmArgs>的{​​{1}}或<configuration>上的gwt-maven-plugin设置它们命令行。

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