3
votes

Maven Surefire: une erreur s'est produite lors du démarrage de la fourche

Lorsque j'essaye d'exécuter

test mvn

Je reçois toujours le message d'erreur indiquant qu'une erreur maven-surefire s'est produite dans la fourchette starring. Cela a quelque chose à voir avec mes paramètres locaux, sur le PC de mes collègues, cela fonctionne bien. J'espère que quelqu'un a une idée de ce qui ne va pas avec mon PC :)

Une partie du message d'erreur:

  1. [ERROR] Échec de l'exécution de l'objectif org.apache.maven.plugins: maven-surefire-plugin: 2.12.4: test (test par défaut) sur le projet exercice00-affectation01: Une erreur s'est produite dans démarrage de la fourche, vérifier la sortie dans le journal -> [Aide 1] org.apache.maven.lifecycle.LifecycleExecutionException: échec de l'exécution de l'objectif org.apache.maven.plugins: maven-surefire-plugin: 2.12.4: test (test par défaut) sur le projet exercice00-affectation01: Une erreur s'est produite dans démarrage de la fourche, vérifiez la sortie dans le journal

  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>at.tuwien.swtesting</groupId>
        <artifactId>exercise00-assignment01</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <packaging>jar</packaging> 
    
        <name>01-RingBufferTest</name>
        <description>Entry exercise.</description>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
    
        <dependencies>  
            <dependency>  
                <groupId>junit</groupId>  
                <artifactId>junit</artifactId>  
                <version>4.12</version>  
                <scope>test</scope>  
            </dependency>  
        </dependencies>
    
    </project>
    

J'utilise win10, jdk: 1.8.0_202, maven: 3.6.0

Mon pom.xml

Caused by:
    org.apache.maven.surefire.booter.SurefireBooterForkException: Error
    occurred in starting fork, check output in log
        at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork
    (ForkStarter.java:284)


5 commentaires

Veuillez d'abord mettre à niveau vers au moins 2.22.1 de maven-surefire-plugin ....


Où dois-je mettre à jour cette version? Je ne peux pas modifier le pom.xml


Vous ne pouvez pas modifier le pom? n'a pas de sens...


Le pom.xml provient de mon cours magistral, normalement il devrait également fonctionner avec ces paramètres. Sur le PC de mes collègues, il fonctionne avec ce fichier.


Veuillez afficher la sortie d'erreur complète ...


3 Réponses :


0
votes

J'ai donc ajouté le code suivant à mon pom.xml

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M3</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

Le message d'erreur a changé:

[ERREUR] Veuillez vous référer aux fichiers de vidage (le cas échéant) [date] .dump, [date] -jvmRun [N] .dump et [date] .dumpstream. [ERROR] Une erreur s'est produite dans démarrage de la fourche, vérifier la sortie dans le journal [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: Erreur s'est produite au démarrage de la fourche, vérifiez la sortie dans le journal [ERROR] à org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork (ForkStarter.java:623) [ERROR] à org.apache.maven.plugin.surefire.booterclient.ForkStarter.run (ForkStarter.java:283) [ERROR] à org.apache.maven.plugin.surefire.booterclient.ForkStarter.run (ForkStarter.java:246)

Edit

J'ai enfin trouvé mon problème, dans mon chemin vers le dossier il y avait un '&' et Windows ne pouvait pas le gérer. C'était la raison des différents messages d'erreur


2 commentaires

Voulez-vous dire que "&" est dans la chaîne cmd.exe? Le mien est "cmd.exe / X / C" C: \ Users \ Some \ tools \ jdk-8u211 \ jre \ bin \ java -javaagent: C: \\ Users \\ Some \\. M2 \\ repository \\ org \\ jacoco \ ‌ \ org.jacoco.agent \\ 0‌ .7.7.201606060606 \\ o‌ rg.jacoco.agent-0.7.‌ 7.201606060606-runti‌ me.jar = destfile = C: \\ ‌ Utilisateurs \\ quelqu'un \\ abc_‌ repo \\ bbb_repo \\ serv‌ ices-parent \\ payment‌ -services-Settlement‌ -impl \\ .. \\ target \\ j‌ acoco.exec, append = tr‌ ue -noverify -Duser.timezone = US / Central -Duser.language = fr org.apache.maven.surefire.booter.ForkedBooter C: \ Users \ Some \ AppData \ Local \ Temp \ surefire5536645681570537‌ 156 ... "


Il est très long. Je ne sais pas comment faire court.



8
votes

Je suis récemment resté coincé dans le même problème. Après de nombreuses recherches, je suis tombé en dessous de la résolution

ForkCount devrait être défini sur "0"

Mettez à jour votre fichier pom comme: -

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
        <forkCount>0</forkCount>
        <suiteXmlFiles>`enter code here`
        <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
        </configuration>
    </plugin>
</plugins>


1 commentaires

J'ai également essayé la version 3.0.0-M3 et la construction est créée avec succès



0
votes

Une autre solution qui a fonctionné pour moi après avoir essayé de nombreuses autres suggestions était d'avoir un fork pour chaque classe de test. La définition de fork à 0 fonctionnait par intermittence, ce que je m'attendais à fonctionner, car lors de l'exécution avec debug = true, ils passaient à chaque fois (pas de fork dans le débogage). 3.0.0-M4

documentation infaillible de forkcount

<plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <forkCount>number of test classes</forkCount>
       </configuration>
    </plugin>
</plugins>


0 commentaires