2009-06-18 9 views
0

Ich benutze das Maven Cobertura-Plugin, um Coverage-Berichte zu generieren, aber aus irgendeinem Grund bleibt das Instrument Ziel in einer Endlosschleife stecken.Maven Cobertura Generated-Klassen

In meinem Klassenverzeichnis (benannter bin) tritt eine Endlosschleife auf und erstellt Verzeichnisse named generated-classes/cobertura/generated-classes/cobertura ... und so weiter und so weiter, wie ich das Instrument Ziel laufen lasse. In jedem der Cobertura-Verzeichnisse befinden sich meine instrumentierten Klassen. Irgendeine Idee, warum dies auftreten könnte?

Antwort

1

Können Sie Ihre Pom-Datei posten? Oder zumindest die relevanten Abschnitte? Sie sollten folgendes haben:

<build> 
    <pluginManagement> 
     <plugins> 
...snip...    
      <!-- cobertura code coverage plugin --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>cobertura-maven-plugin</artifactId> 
       <version>2.2</version> 
       <configuration> 
        <formats> 
         <format>xml</format> 
        </formats> 
       </configuration> 
      </plugin> 
      <!-- end cobertura code coverage plugin --> 

     </plugins> 
    </pluginManagement> 
</build> 

<reporting> 
<plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.2</version> 
     <configuration> 
      <formats> 
       <format>xml</format> 
      </formats> 
     </configuration> 
    </plugin> 
</plugins> 
</reporting> 

Befolgen Sie auch das Standardmaven-Verzeichnislayout für Ihre Quelle? Wo ist deine Pom-Datei in Bezug auf deine Quelldateien und wie sieht dein Verzeichnis-Layout aus?

+0

Hallo. Meine POM-Abteilung sieht wie deine aus. maven führt die cobertura-aufgabe aus, aber es hängt auf covertura: instrument auf. Meine Verzeichnisstruktur ist nicht das Standardmaven-Layout, insbesondere mein Ausgabeverzeichnis (es ist bin statt Klassen). muss ich das irgendwo in cobertura angeben? –

+0

Ich denke, das Problem ist, dass mein Standardausgabeverzeichnis nur bin, und nicht Ziel/bin (oder eine zweite Ebene). Das Plugin bleibt in einer rekursiven Schleife hängen, weil es sein generated-classes-Verzeichnis auf der gleichen Ebene wie meine eigentlichen instrumentierten Klassen platziert. Ich muss das aktualisieren und sehen, ob es das Problem behebt. –

+0

Während es nicht erforderlich ist, würde ich definitiv empfehlen, dass Sie Ihr Projekt nach der Maven-Spezifikation einrichten: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html - ich realisiere Es ist vielleicht nicht für jedes Projekt möglich, aber es ist etwas zu beachten. Ich habe mich auch daran gehängt, als ich das erste Mal mit Maven versuchte, weil ich dachte, dass meine Verzeichnisorganisation etwas intuitiver wäre, aber sobald man in die "convention-over-configuration" Idee einsteigt, funktioniert alles * . Ich werde herumkramen und sehen, was ich sonst noch finden kann. – matt

Verwandte Themen