这怎么可能?我没有正确理解linux,因为我没有 知道这是怎么发生的。我相信这里还有其他的事情,因为我试图将最大堆大小设置为1G并且它失败了
MAVEN_OPTS指定1024m的堆,但maven命令失败,因为堆是4096m。机器是32位,安装了6G
内存
$free -h
total used free shared buffers cached
Mem: 5.8G 3.8G 2.0G 186M 351M 2.1G
-/+ buffers/cache: 1.3G 4.4G
Swap: 5.8G 0B 5.8G
的Maven
echo $MAVEN_OPTS
-Xms512m -Xmx1024m -XX:MaxPermSize=1024m
$ mvn -version
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
爪哇
java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) Server VM (build 25.111-b14, mixed mode)
Linux的
uname -a 102-Ubuntu SMP Tue Aug 11 14:28:35 UTC 2015 i686 i686 i686 GNU/Linux
答案 0 :(得分:0)
再次使用以下设置并尝试:
Linux的:
导出MAVEN_OPTS =" -Xmx1024m -XX:MaxPermSize = 1024m"
窗
设置MAVEN_OPTS =" -Xmx1024m -XX:MaxPermSize = 1024m"
答案 1 :(得分:0)
我刚遇到同样的错误,解决方案已提供给我的this blog post。在帖子中,陈述;
检查mvn.bat:MAVEN_OPTS直接作为JVM参数传递:
SET MAVEN_JAVA_EXE =“%JAVA_HOME%\ bin \ java.exe”%MAVEN_JAVA_EXE% %MAVEN_OPTS%-classpath%CLASSWORLDS_JAR% “-Dclassworlds.conf =%M2_HOME%\ bin \ m2.conf”“ - Dr.home =%M2_HOME%” %CLASSWORLDS_LAUNCHER %% MAVEN_CMD_LINE_ARGS%
如果我们运行设置MAVEN_OPTS =“ - Xmx1024M -XX:MaxPermSize = 256M”,之前的 命令将替换为%MAVEN_JAVA_EXE%“ - Xmx1024M -XX:MaxPermSize = 256M“......
如果我们运行java“-Xmx1024M -XX:MaxermSize = 256M”-version:我们会看到 同样的错误信息。
解决方案很简单:我们可以运行:设置“MAVEN_OPTS = -Xmx1024M -XX:MaxPermSize = 256M“或完全删除双引号:设置MAVEN_OPTS = -Xmx1024M -XX:MaxPermSize = 256M
MAVEN_OPTS的值没有周围的双引号。
这肯定解决了我的问题。