web-dev-qa-db-fra.com

Maven lance "Java.lang.OutOfMemoryError"

Je suis en train de compiler un projet open source avec "mvn install" mais avec Java.lang.OutOfMemoryError: Java heap space. J'ai essayé d'exécuter Java -Xmx256m mais la sortie était un synopsis Java qui indiquait qu'il s'agissait d'une commande non valide.

J'utilise jdk1.5.0_08, des idées pour expliquer cela?

Merci,

33
user124858

Définissez la variable d'environnement:

MAVEN_OPTS="-Xmx512m"
52
cletus

Cela dépend de l'instance JVM qui nécessite plus de mémoire . Par exemple, si les tests sont définis (par défaut) et échouent à cause de OutOfMemoryError, essayez de configurer le plug-in qui les lance:

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <argLine>-Xmx1024m</argLine>
            </configuration>
        </plugin>
18
Andriy Plokhotnyuk

Pas seulement de la mémoire. Vous devez également augmenter la taille de perm pour résoudre cette exception dans maven Utiliser ces variables dans la variable d'environnement.

nom de la variable: MAVEN_OPTS
valeur de la variable: -Xmx512m -XX: MaxPermSize = 256m

9
msuresham

Parfois, si vous utilisez d’autres programmes dans maven, comme dans les tests d’intégration ou Surefire, MAVEN_OPTS ne suffit pas. Outre MAVEN_OPTS, essayez d'utiliser Java_TOOL_OPTIONS. Cela a fonctionné pour moi dans Maven lors de l'exécution de tests d'intégration:

export Java_TOOL_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Xms2048m"

Référence: osx maven en cours d'exécution des tests Exception: Java.lang.OutOfMemoryError renvoyée à partir de l'UncaughtExceptionHandler dans le thread "main"

4
4lberto

sur un système de type Unix:

export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m"

OutOfMemoryError

1
hahakubile

Vous pouvez également utiliser set MAVEN_OPTS="-XX:MaxPermSize=256m" lors de l'exécution de la commande Invite.

0
user666

Je l'utilise toujours avec mon shell sur Ubuntu:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m"
0
Lucas Pires