0

我正在尝试为移动、桌面和平板电脑的 GWTP+MGWT 项目编写 build.xml。

    <javac srcdir="${apt_generated}" destdir="${out.classes.folder}" includeantruntime="true" source="1.6" target="1.6" nowarn="false" debug="true" debuglevel="lines,vars,source" >
        <classpath refid="project.class.path" />
         <compilerarg value="-Xlint"/>
    </javac>
    <javac srcdir="${in.src.folder}" fork="true"   memoryinitialsize="512m" memorymaximumsize="1024m"  includes="**" encoding="utf-8" destdir="${out.classes.folder}" source="1.6" target="1.6" nowarn="false" debug="true" debuglevel="lines,vars,source" includeantruntime="true">
        <classpath refid="project.class.path" />
         <compilerarg value="-Xlint"/>
    </javac>    
    <copy todir="${out.classes.folder}">
        <fileset dir="${in.src.folder}" includes="**/*.class" />
    </copy>
    <delete dir="${in.src.folder}" includes="**/*.class" failonerror="false" />

该应用程序在开发模式下运行良好,但当我执行“ant gwtc”时看到以下错误 -

世界贸易中心:
     [java] 编译模块 com.company.proj.fe.TestApp
     [java] 验证新编译的单元
     [java] 在第一次通过时忽略了 1 个带有编译错误的单元。
     [java] 编译时使用 -strict 或将 -logLevel 设置为 TRACE 或 DEBUG 以查看所有错误。

     [java] [错误] 'jar:file:/workspace/testapp/war/WEB-INF/lib/ 中的错误
mgwt-1.1.1.jar!/com/googlecode/mgwt/ui/client/theme/
MGWTThemeBaseThemeStandardImpl.java'
     [java] [ERROR] 内部编译器错误
     [java] java.lang.OutOfMemoryError: Java 堆空间
     [java] 在 java.lang.String.toCharArray(String.java:2725)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$CompilationUnitAdapter.getContents(AbstractCompiler.java:105)
     [java] 在 org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9485)
     [java] 在 org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9457)
     [java] 在 org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:8102)
     [java] 在 org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:322)
     [java] 在 org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:131)
     [java] 在 org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getType(LookupEnvironment.java:1090)
     [java] 在 com.google.gwt.dev.javac.JdtCompiler.resolveType(JdtCompiler.java:438)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.resolvePossiblyNestedType(AbstractCompiler.java:292)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$500(AbstractCompiler.java:139)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler.resolvePossiblyNestedType(AbstractCompiler.java:625)
     [java] 在 com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.checkRebindResultInstantiable(WebModeCompilerFrontEnd.java:130)
     [java] 在 com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRebinds(WebModeCompilerFrontEnd.java:118)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(AbstractCompiler.java:254)
     [java] 在 org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:173)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:288)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$400(AbstractCompiler.java:139)
     [java] 在 com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java:588)
     [java] 在 com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclarations(BasicWebModeCompiler.java:97)
     [java] 在 com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDeclarations(WebModeCompilerFrontEnd.java:52)
     [java] 在 com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:569)
     [java] 在 com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
     [java] 在 com.google.gwt.dev.Precompile.precompile(Precompile.java:284)
     [java] 在 com.google.gwt.dev.Precompile.precompile(Precompile.java:233)
     [java] 在 com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
     [java] 在 com.google.gwt.dev.Compiler.run(Compiler.java:232)
     [java] 在 com.google.gwt.dev.Compiler.run(Compiler.java:198)
     [java] 在 com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
     [java] 在 com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
     [java] 在 com.google.gwt.dev.CompileTaskRunner.runWithApppropriateLogger(CompileTaskRunner.java:82)

我添加了 fork="true" memoryinitialsize="512m" memorymaximumsize="1024m"。但这些似乎不起作用。

4

1 回答 1

0

如果 JRE 的内存很少,我在编译 GWT 应用程序时遇到了一些问题。

尝试增加你的蚂蚁进程的内存。

我的一个 GWT 应用程序只能在 64 位 JVM 中编译。

我用 4g RAM 和 64 位 JVM 编译我的应用程序。

于 2012-08-24T21:08:36.727 回答