2

我有一个 2gig linux 64 位操作系统。我正在使用 ant 1.7.1 和 jdk 1.6_31。我有一个简单的打印应用程序,它询问最大 java 堆的大小并打印它。我正在使用 export ANT_OPTS="-Xmx64M" 但是当我在 build.xml 中使用 ant 目标运行我的小应用程序时,它报告 446Meg。

<target name="askmem">
    <java
        fork="true"
        classname="com.stagirite.test.AskMemory"
        classpathref="project.classpath">

        <classpath path="${build.dir}"/>
    </java>
</target>

我一定做错了什么?(我从 stackoverflow 中发现,对于这个 JVM,默认堆是总内存的 1/4,这是正在发生的事情,而不是我在 ANT_OPTS 中指定的值。

安迪

4

1 回答 1

2

无论如何,您都在分叉 Java,因此即使ANT_OPTS 确实影响了java任务,我认为他们也不会转移到它。ANT_OPTS是针对蚂蚁本身的。

如果要控制分叉java任务使用的 JVM,请使用嵌套<jvmargs>元素。

于 2012-09-09T20:11:20.117 回答