当IntelliJ的“make”调用它时,如何增加GWT Maven插件使用的堆大小?

时间:2012-01-18 19:05:59

标签: gwt maven intellij-idea out-of-memory

我正在将我的项目从GWT 2.3.0升级到2.4.0。作为副作用,我的GWT编译因内存不足而失败。我在网上搜索,发现你可以在Maven pom.xml文件中指定额外的内存参数(通过添加配置块),如下所示:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>2.4.0</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <extraJvmArgs>-XX:MaxPermSize=512m -Xmx1024m</extraJvmArgs>
    </configuration>
</plugin>

如果我直接使用Maven构建,这是有效的,但是当我使用IntelliJ构建时,它仍然会耗尽内存。当我在IntelliJ编译时查看我的操作系统上的进程详细信息时,它仍然使用-Xmx128m作为传递给JVM的标志。

如何配置插件可以在IntelliJ内部使用的最大内存?

2 个答案:

答案 0 :(得分:6)

IntelliJ的GWT插件将使用自己的设置进行构建,不会使用Maven插件中的那些。

您需要转到项目设置(请参阅http://www.jetbrains.com/idea/webhelp/gwt-facet.html

您可以在那里增加'Compiler Maximum Heap'。

答案 1 :(得分:0)

在构建之前的控制台中,您应该使用以下参数:

set MAVEN_OPTS=-Dgwt.extraJvmArgs="-Xms1g -Xmx2g"

使用-xmx等不会有任何帮助,因为GWT似乎在Maven中使用它自己的JVM,而这些JVM并没有获得这些参数值。但是,-Dgwt.extraJvmArg将传递给GWT。