Sto costruendo un'app Maven Java su un server di generazione Jenkins. Sto correndo in java.lang.OutOfMemoryError: PermGen space
molte volte durante la compilazione su Jenkins (ma mai sul mio localhost) e quindi fallisce la mia build.Imposta la dimensione permgen per i processi JVM figlio che Maven eseguirà.
Ho già provato l'impostazione MAVEN_OPTS
per Jenkins: sono entrato in Jenkins
->Manage Jenkins
->Configure system
->Global MAVEN_OPTS
ed è stato fissato a -Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:PermSize=512m
. Nonostante l'impostazione di questo alto valore, continuiamo a correre nei problemi di spazio PermGen. Non voglio impostare MAVEN_OPTS su un valore più alto; Non vedo come la mia app possa richiedere un gig di spazio e preferirei approfondire il problema dell'utilizzo della memoria alta.
Ultimamente, ho pensato che forse il problema dello spazio permgen NON proviene dallo stesso Maven, ma piuttosto da uno dei processi JVM che Maven fa da spin (es: plugins). Propongo questa ipotesi perché Maven è ancora in grado di eseguire test TestNG, nonostante abbia già sputato le nostre linee di errore dello spazio permgen. Uno di questi plugin che causa l'errore PermGen è Jetty:
Oct 31, 2012 7:55:37 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: handle failed
java.lang.OutOfMemoryError: PermGen space
Quindi, vorrei sapere:
fa la variabile MAVEN_OPTS
si applicano anche a figlio JVM processi che una build di Maven gira off ? In caso contrario, come impostare le opzioni JVM per questi processi figlio come Jetty?
NOTA: Sto usando Maven 3.0.4.
Abbiamo provato ad impostare argLine, ma non ha funzionato quando abbiamo eseguito 'mvn gae: run', che è il * maven-gae-plugin *. – ecbrodie
Guardando il codice sorgente di 'maven-gae-plugin', hai provato il suo parametro' jvmFlags'? – Kkkev
Mi sono imbattuto in questo stesso problema di recente, quindi ho provato il tuo suggerimento sull'impostazione del parametro 'jvmFlags' ... e ha funzionato come un incantesimo! Il mio problema era che impostiamo il tag '' nella configurazione per maven-gae-plugin, ma dovremmo aver usato ''. Grazie! –
ecbrodie