Maven - could not reserve enough space for object heap Fehler
Ich bin Maven zu bauen mein Java-Projekt. Nach mehreren erfolgreichen build, ich bin jetzt immer die folgende Fehlermeldung:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
In meinem maven.sh Datei, die mein build verwenden, ich habe das folgende als erste Zeile
export MAVEN_OPTS=-Xmx512m
Ich bin noch immer der Fehler.
Kann jeder jeden schlagen eine Lösung?
- in welchem Stadium des maven-build ist dies aufgetreten? Ist es während der tests, zum Beispiel? könnten Sie mehr von der maven-Ausgang?
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ my-configuration --- [INFO] No tests to run. [INFO] Surefire report directory: C:\target\surefire-reports Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
- Es schlägt fehl, unabhängig davon, ob ich mit meinen Prüfungen durch oder nicht. Es scheitert bereits in einer sehr frühen build. Ich bin mit einem Windows-Rechner und Linux-emulator Cygwin laufen meine maven-build. Die bauen auch nicht, wenn ich versuche es im Windows. Es war zuvor im Cygwin-aber nicht jetzt.
- sicherlich scheint seltsam. Werfen Sie einen Blick auf die folgenden blog: myadventuresincoding.wordpress.com/2009/06/15/... probieren Sie auch die verschiedenen Vorschläge in die Kommentare. Vielleicht einer von denen wird Ihnen helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Lösung war, die forkMode von maven-surefire-plugin auf 'nie'. Es scheint, dass, wenn die tests ausgeführt werden, sicher, dass maven Feuer erzeugt einen neuen JVM. Die Einstellung, dass es niemals das Problem.
Ich hatte das gleiche Problem und ich dachte, Maven war nicht mit dem richtigen jvm. Sie können dies überprüfen, mit
In meinem Fall die jvm angegeben in meinem
JAVA_HOME
undPATH
war falsch: ich war mit einem x86-jdk-6 anstelle von x64 jdk 7. Die Festsetzung dieser das Problem gelöst.Ich lief in das gleiche Problem, wenn ich versuche zu bauen, die Cloudera Navigator SDK-Beispiele. Ich bin mit einem 32-bit-JVM und die Kompilierung zu gehen schien OK, aber der test danach scheiterte mit diesem Fehler:
Ich habe versucht, MAVEN_OPTS=-Xmx512m aber dies hatte keine Wirkung - es scheiterte mit der gleichen Meldung. Auch der Wert von 2097152KB in der Fehlermeldung war immer noch die gleiche (seltsam!).
Habe ich endlich herausgefunden, dass der Wert der heap-Größe war hart-codiert für den test in der pom.xml Datei! Es hatte
Bearbeitete ich pom.xml und geändert, dass auf -Xmx1024m-und dann ist maven in der Lage war zu bauen und zu testen, alles ohne Probleme.
Also die Lehre daraus ist, dass, wenn Sie etwas zu bauen, die Sie von jemand anderem (z.B. Cloudera) und erhalten Sie eine Fehlermeldung, überprüfen Sie pom.xml sorgfältig, um zu sehen, ob die Einstellung ist hart-codiert in es.
FYI - ich denke, dass die Verwendung eines 64-bit-JVM möglicherweise haben möglicherweise auch dieses Problem gelöst, aber ich kann nicht Umschalten auf 64-bit. Wir haben einige andere Sachen, die wir brauchen, um dieses mit zu arbeiten, der sagt, dass es funktioniert nur mit einem 32-bit-JVM (kann ich nicht wirklich erklären, in mehr detail als hier).
Ich denke, Sie reservieren möchten mehr Platz als Sie haben, mit den Einstellungen:
MAVEN_OPTS=-Xmx512m
Versuchen, um es tiefer, da die Maven startet nur, wenn es behalten kann den ganzen Raum.
Dieses problem trat auf mich zu und ich konnte es lösen wie beschrieben.
Versuchen, setzen Sie die variable:
MAVEN_OPTS = -Xmx512m -XX:MaxPermSize=128m
Wechsel zu MAVEN_OPTS = -Xmx512m hat mir geholfen, auf einem Windows 64-bit.
Versuchen Java 64 bit und konfigurieren die java_home auf das Java 64.
obs.: javac -version und mvn -version muss zurück in die Java-64.
Als Didier L oben gesagt
Dies war genau das problem, was ich hatte, liefen wir die x86-JVM anstelle der 64-bit -...
Es fixiert mein Thema, als ich geändert, um die 64-bit-JVM.
In IDEA IntelliJ IDE-es ist eine Einstellung auf
Maven -> Runner
für die Verwendung einer bestimmten JVM. Der Standard war für mich die Verwendung der JRE und nicht das JDK set JAVA_HOME auf. Stellen Sie sicher, zu überprüfen, dass die Einstellung. Sobald ich Umschalten JAVA_HOME alles lief fein.Ich versuchte dies und es funktioniert für mich-
maven version -3.2.5
java version jdk1.7.0_10
-Xmx600m -XX:PermSize=256m