Aidez-moi à résoudre ce problème. Je ne comprends pas exactement ce que signifie l'erreur dans le journal.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.749s
[INFO] Finished at: Thu Apr 24 10:10:20 IST 2014
[INFO] Final Memory: 15M/37M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test (default-test) on project samples.simpleforwarding: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
[ERROR] Command wascmd.exe /X /C ""C:\Program Files\Java\jdk1.7.0_55\jre\bin\java" -Xmx1024m -XX:MaxPermSize=256m -jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefirebooter53410321571238933.jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire86076271125218001tmp E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire_01846991116135903536tmp"
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
java
maven-surefire-plugin
opendaylight
une pile
la source
la source
Réponses:
J'ai eu le même problème et résolu en ajoutant:
L'ensemble de l'élément plugin est:
la source
.m2
est corrompue. Suppression de ~ / .m2 / repositoryrm -rf ~/.m2/repository
, puismvn install
résolution du problème pour moi.Dans mon cas, le problème était lié à une sortie de journal trop longue dans la console IntelliJ IDEA (OS Windows 10).
Commander:
Cette commande m'a résolu le problème:
la source
J'ai un problème très similaire ( build Maven et maven-failafe-plugin - La machine virtuelle fourchue s'est terminée sans dire au revoir correctement ) et j'ai trouvé trois solutions qui fonctionnent pour moi:
Description du problème
Le problème est avec le plugin maven maven-surefire-plugin uniquement dans les versions 2.20.1 et 2.21.0. J'ai vérifié et vous utilisez la version 2.20.1.
Solution 1
Mettez à niveau la version du plugin vers 2.22.0 . Ajoutez pom.xml :
Solution 2
Rétrograder la version du plugin à 2.20 . Ajoutez pom.xml :
Solution 3
Utilisez la configuration du plugin testFailureIgnore . Ajoutez pom.xml :
la source
maven:3.6.0-jdk-10
image Docker et en passant à la version3.0.0-M3
demaven-surefire-plugin
résolu pour moi également.À partir d'aujourd'hui (30/10/2018), nous avons remarqué que nos builds se cassaient dans Jenkins avec cette erreur.
L'erreur est un peu trompeuse et nécessite de regarder la sortie du vidage
target/surefire-reports/
pour voir le message d'erreur suivant:Cela m'amène au post SO suivant qui mentionne un possible bug dans OpenJDK 181: Maven surefire n'a pas pu trouver la classe ForkedBooter
L'un ou l'autre des correctifs de cet article résout mon problème. Pour être précis, j'ai utilisé l'un ou l'autre de ces éléments:
maven:3.5.4-jdk-8
àmaven:3.5.4-jdk-8-alpine
la source
The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
surefire-reports
.Cette partie de la FAQ Surefire peut vous aider:
la source
Faisait face au même problème, java 8 sur ubuntu
puis est tombé sur https://stackoverflow.com/a/53016532/1676516
Cela semble être un bug récent dans la version 2.22.1 du plugin surefire avec java 8 https://issues.apache.org/jira/browse/SUREFIRE-1588
suivi la solution de contournement suggérée via les paramètres mvn locaux
~/.m2/settings.xml
la source
J'ai eu le même problème aujourd'hui et pour moi, le vrai problème a été signalé plus haut dans le journal avec un message
Configuration complète du plugin:Cannot use a threadCount parameter less than 1; 1 > 0
. Lors de l'ajout<threadCount>1</threadCount>
de la configuration du plugin surefire, l'autre erreur a disparu.... et oui, j'utilise à la fois junit et testng dans ce cadre de test pour des raisons de compatibilité descendante.
la source
Problème similaire lors de l'exécution de la commande mvn avec le plugin Jacoco sur JDK 1.8.0_ 65
Il y avait un bogue dans JDK https://bugs.openjdk.java.net/browse/JDK-8081379
Et la solution était d'exécuter mvn clean install avec le paramètre -XX: -UseLoopPredicate
Ou faites simplement une mise à jour vers JDK (je pense que la nouvelle version mineure fonctionne)
la source
Désactiver useSystemClassLoader de maven-surefile-plugin devrait aider
la source
Si quelqu'un inclut un argument argLine personnalisé, vous devez reconsidérer car il est probablement la source de vos problèmes d'allocation de mémoire.
Par exemple (j'avais l'habitude d'avoir):
Maintenant, j'utilise des valeurs spécifiées en dur:
Quelle qu'en soit la raison, les applications qui s'intègrent à Surefire telles que Jacoco ne demandent pas suffisamment de mémoire pour coexister avec les tests effectués au moment de la construction.
la source
J'ai également rencontré ce problème dans un conteneur Jenkins Docker (j'ai essayé jenkins: lts, jenkins, jenkins: slim et jenkins: slim-lts. Je ne voulais pas parcourir tous les référentiels et mettre à jour le pom pour chaque projet, alors je vient d'ajouter disableClassPathURLCheck à l'appel de ligne de commande maven:
la source
En utilisant maven surefire 2.21.0, j'ai résolu le problème en changeant la
reuseForks
valeur de l' option de true à false :Toute ma section de configuration sous build ressemblait à ceci:
la source
Vous devez vérifier si votre machine est 64 bits ou 32 bits. Si votre machine est 32 bits, votre argument de mémoire ne doit pas dépasser 4096, même s'il doit être inférieur à 4 Go. mais si votre machine est 64 bits alors, installez Java 64 bits et fournissez JAVA_HOME dans mvn.bat qui pointe vers l'installation java 64 bits.
la source
J'ai rencontré un cas où aucune des réponses fournies n'a résolu le problème. C'était avec une application héritée qui utilise log4j et SLF4J / logback.
La situation précédente: les
clean test
builds fonctionnaient correctement lors du lancement à partir d'Eclipse, mais lors du lancement dans la ligne de commande, cette erreur s'est produite. CI s'appuie sur CircleCI a bien fonctionné aussi.Ce que j'ai fait: par pure conjecture, est de configurer un bon
logback-test.xml
et réduire la verbosité de la journalisation. Et voilà, je n'ai plus rencontré cette erreur et je peux maintenant construire le projet (ainsi que le module dans lequel cette erreur se produisait) à partir de la ligne de commande.Mon point est que la façon dont les cadres de journalisation sont utilisés ou configurés peut être une autre explication .
Était-ce vraiment un conflit entre log4j et logback? Ou est-ce simplement que le volume élevé de journalisation produit par les tests a en quelque sorte débordé un tampon de ligne de commande? Je ne sais pas. Cela reste un mystère pour moi.
la source
J'ai rencontré un problème similaire après la mise à niveau vers java 12, pour moi, la solution consistait à mettre à jour la version jacoco
<jacoco.version>0.8.3</jacoco.version>
la source
la version 2.22.2 a de réels problèmes avec les JVM fourchus. Utilisez la version 2.20 - cela fonctionne comme un charme!
la source
v2.22.2
a un problème avecmaven:3.6-jdk-8-alpine
. Si ennuyant!Je me suis récemment retrouvé avec cette erreur lors de la création de mes applications jar conteneurisées avec Bamboo:
Après de nombreuses heures de recherche, je l'ai réparé. Et j'ai pensé qu'il serait utile de partager ma solution ici.
Ainsi, l'erreur se produit chaque fois que bamboo exécute la
mvn clean package
commande pour les applications Java dans les conteneurs docker. Je ne suis pas un expert Maven mais le problème était dans les plugins Surefire et Junit4 inclus dans spring-boot en tant que dépendance maven.Pour résoudre ce problème, vous devez remplacer Junit4 par Junit5 et remplacer le plugin Surefire en vous
pom.xml
.1.Exclusion d'insertion de dépendance de démarrage à ressort intérieur:
2. Ajoutez de nouvelles dépendances Junit5:
3. Insérez un nouveau plugin dans la section plugins
Cela devrait suffire à réparer les constructions en bambou. N'oubliez pas également de transformer tous les tests Junit4 pour prendre en charge Junit5.
la source
Définir cela dans pom.xml a fonctionné pour moi. Mais vous devriez consulter la documentation pour d'autres solutions de contournement https://maven.apache.org/surefire/maven-surefire-plugin/examples/class-loading.html
la source
La machine virtuelle Java forkée utilisée dans le test manque de mémoire. La solution serait soit de désactiver le forking d'une JVM et d'exécuter les tests sur la JVM principale en vous assurant d'avoir suffisamment de mémoire, soit de passer des arguments pour augmenter la mémoire de la JVM fourchue
Découvrez la solution dans cette réponse
la source
J'ai rencontré ce problème lors de la compilation de Jenkins sur une machine Ubuntu.
/var/log/syslog
rapportéOut of memory: Kill process 19557 (java) score 207 or sacrifice child
.J'ai donc donné plus d'espace de swap à la machine Ubuntu . Depuis, le problème a disparu.
la source
Ma résolution à ce problème était de fermer le foutu navigateur Chrome qui étouffait la mémoire de mon ordinateur 🙄
la source
Vous pouvez définir les options Java
SET JAVA_OPTS='-Xmx1024m' XX:+UseLoopPredicate
mvn clean install
la source
Sous Windows (OpenJDK11, Maven 3.6.0, SUREFIRE 3.0.0-M1), j'ai cette cause fondamentale:
et résolu en augmentant la taille du fichier d'échange, par exemple comme ceci .
la source
essayé tout ci-dessus, n'a pas fonctionné. la solution ci-dessous fonctionne pour moi:
la source
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T21:41:47+03:00) Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_201\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
J'ai eu le même problème et résolu en utilisant Java 8 d'Oracle au lieu de Java 10 d'Openjdk
la source
J'ai essayé toutes les solutions proposées (forking, systemloader, plus de mémoire etc.), rien n'a fonctionné.
Environnement : la compilation a échoué dans l'environnement gitlab ci, en exécutant la compilation dans un conteneur docker.
Solution : nous avons utilisé surefireplugin dans la version 2.20.1 et la mise à niveau vers la version 2.21.0 ou supérieure (nous avons utilisé la version 2.22.1) a résolu le problème.
Cause : SUREFIRE-1422 - surefire utilise la commande
ps
, qui n'était pas disponible dans l'environnement docker et a conduit au "crash". Ce problème est résolu dans la version 2.21.0 ou supérieure.Merci à cette réponse d'une autre question: https://stackoverflow.com/a/50568662/2970422
la source
J'ai également rencontré ce problème sur MacOS lors du débogage à distance du code de test Selenium sur le port 5005. Le problème s'est avéré être causé par un reste de JVM infaillible qui restait en cours d'exécution. La sortie du journal vers le terminal Eclipse IDE n'a pas montré le problème sous-jacent qui était l' adresse déjà utilisée . Le message du journal n'a été affiché que lorsque j'ai exécuté la même commande dans un terminal MacOS qu'Eclipse essayait réellement d'exécuter:
/bin/sh -c cd /path/to/your/project/directory && /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar /path/to/target/surefire/surefirebooter230340673926465933.jar /path/to/target/surefire 2019-06-28T10-50-02_140-jvmRun1 surefire6455775580414993159tmp surefire_02461993428448591420tmp
La suppression de l'instance JVM non autorisée (recherchez un nom de processus Java dans Activity Monitor) a résolu le problème. Au fait, j'exécute la version 2.21.0 du plugin surefire sans problème avec open jdk 8 (v1.8.0_212). Notez que tous les chemins seront spécifiques à votre environnement de construction et éventuellement au port (adresse = 5005).
la source
J'étais confronté au même problème lors de l'exécution de tests unitaires à l'aide de maven test. J'ai essayé de changer les versions infaillibles mais cela ne fonctionnait pas. Finalement réussi à résoudre comme suit: EARLIER: (lorsque le problème se produisait): javac est de jdk 1.8 java pointait vers le bin java de jdk 1.11 COURANT: (lorsque le problème a été résolu): javac et java pointent vers le bacs de jdk 1.8
Cordialement Teja.
la source
J'ai rencontré cette erreur après qu'une variable membre statique de ma classe de test a appelé une méthode pour créer un objet (qui a été utilisée dans les cas de test dans toute la classe), et la méthode a provoqué une exception.
Certains correctifs incluent la recréation de l'objet dans chaque scénario de test et la détection des exceptions en conséquence. Ou en initialisant l'objet dans une méthode @BeforeTest et en s'assurant qu'il est construit correctement.
la source
Dans mon cas, le problème était lié au chemin de l'espace de travail qui était trop long. J'ai donc refait le chemin et cela m'a résolu le problème.
la source