Ich baue eine Maven-Java-App auf einem Jenkins-Build-Server. Ich laufe in java.lang.OutOfMemoryError: PermGen space
viele Male während des Aufbaus auf Jenkins (aber nie auf meinem localhost) und folglich schlägt es mein Aufbau fehl.Legen Sie die Permgen-Größe für die Child-JVM-Prozesse fest, die Maven ausgliedern wird.
ich bereits versucht haben, MAVEN_OPTS
für Jenkins Einstellung: Ich in Jenkins
ging ->Manage Jenkins
->Configure system
->Global MAVEN_OPTS
und es wurde -Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:PermSize=512m
gesetzt. Trotz dieses hohen Wertes stoßen wir immer wieder auf Probleme mit PermGen-Speicherplatz. Ich möchte den MAVEN_OPTS nicht auf einen höheren Wert setzen; Ich kann nicht sehen, wie meine App eine Menge Speicherplatz benötigt, und ich möchte lieber auf das Problem mit dem hohen Speicherverbrauch eingehen.
In letzter Zeit dachte ich, dass das Permgen-Space-Problem NICHT von Maven selbst kommt, sondern eher von JVM-Prozessen, die Maven abspinnt (zB Plugins). Ich schlage diese Hypothese vor, weil Maven TestNG-Tests immer noch gut ausführen kann, obwohl wir bereits die Permgen-Raumfehlerlinien gespuckt haben. Ein solches Plugin, das die PermGen Fehler verursacht ist Jetty:
Oct 31, 2012 7:55:37 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: handle failed
java.lang.OutOfMemoryError: PermGen space
Daher würde Ich mag wissen:
Ist die MAVEN_OPTS
Variable auch auf das Kind anwenden JVM verarbeitet, dass ein Maven Build spinnt aus ? Wenn nicht, wie setze ich dann die JVM-Optionen für diese untergeordneten Prozesse wie Jetty?
HINWEIS: Ich verwende Maven 3.0.4.
Wir haben versucht, argLine zu setzen, aber es hat nicht funktioniert, als wir 'mvn gae: run' ausgeführt haben, was das * maven-gae-plugin * ist. – ecbrodie
Wenn Sie den Quellcode von 'maven-gae-plugin' betrachten, haben Sie den Parameter' jvmFlags' probiert? – Kkkev
Ich stieß vor kurzem auf dasselbe Problem, also habe ich Ihren Vorschlag über die Einstellung des Parameters 'jvmFlags' ausprobiert ... und es hat wie ein Zauber funktioniert! Mein Problem war, dass wir den '' Tag in der Konfiguration für maven-gae-plugin gesetzt haben, aber wir sollten' 'immer mit '' verwenden. Vielen Dank! –
ecbrodie