Ich habe kürzlich versucht, Cobertura-Plugin für unser Projekt zu integrieren. Aber ich lief zu einem seltsamen Problem. Nun, wenn ich versuche, dies zu tun:Wie benutzt man das Cobertura Maven Plugin, damit der Bytecode nicht verändert wird?
mvn clean package cobertura:check-integration-test
Mein Projekt ganz gut zusammenfügt. Aber nach deploy hier ist das, was ich als eine Nachricht erhalten:
java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/LightClassmapListener
Dies geschieht, wie ich sie verstehe, weil cobertura den Bytecode meiner Klassen verändert. Also, wie sollte ich fortfahren, Prüfungen durchzuführen und den Code zu erstellen? Im Moment komme ich mit der folgenden Lösung für Teamcity bis:
Erster Schritt läuft cobertura:
mvn clean package cobertura:check-integration-test
Nach diesem zweiten Schritt wird mit der normalen Montage:
mvn clean package
Dies scheint zu arbeiten, aber es scheint irgendwie komisch, dass ich den Prozess der Verpackung zweimal ausführen muss (das dauert doppelte Zeit), nur um einen sauberen Build mit Bytecode zu machen, der von cobe nicht beeinflusst wird rtura-Plugin.