2

我需要设置

ANT_OPTS=-Xms1024m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m

JAVA_OPTS=-Xms1024m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m

我有一个 8gb 的系统(最近从 4gb 升级)

但是,一旦我将 ant opts 设置为上述值,我将无法运行任何我的 ant 目标,并且出现以下错误

[ERROR] Argument error: -Xmx6144m
[ERROR] Specified maximum heap size (6144 MB) is larger than the address space on this platform (4 GB).
[WARN ] -XX:PermSize=1024m is not a valid VM option. Ignoring
[WARN ] -XX:MaxPermSize=1024m is not a valid VM option. Ignoring
Could not create the Java virtual machine.

这表示我系统上的 Java

java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Oracle JRockit(R) (build R28.1.0-123-138454-1.6.0_20-20101014-1351-windows-x86_64, compiled mode)

我在 Intel Core 2 Duo 3Ghz 处理器和 8GB RAM 上运行 Windows 7。

PS:我为这个错误做了谷歌,这是我第一次出现这样的情况,我没有得到任何指向特定解决方案的链接。

4

2 回答 2

3

正如评论中所讨论的:

您的 ANT 安装似乎使用的是 32 位 JVM。虽然 64 位 JVM 在您的 PATH 中,但 ANT 不服从 PATH 中的 JVM,它首先查看 JAVA_HOME。您可以通过运行 $JAVA_HOME/bin/java -version 来验证这一点。

您可以更新您的环境以将 JAVA_HOME 设置为 64 位版本,或更改 ANT 脚本以始终使用特定版本的 Java。

于 2012-04-13T10:14:16.193 回答
2

错误消息似乎暗示该平台是 32 位的。我想你实际上不能使用 4 GB。

我会尝试安装 64 位版本的 Java 并使用它。


对于 HotSpot JVM,我希望看到

$ java -mx30g -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
于 2012-04-11T12:11:07.577 回答