Nach dem Lesen https://groups.google.com/forum/#!topic/jacoco/LzmCezW8VKA stellt sich heraus, dass prepare-agent
eine todsichere Eigenschaft namens argLine
setzt. Wenn Sie diese Eigenschaft überschreiben (was Ihnen https://issues.apache.org/jira/browse/SUREFIRE-951 nahelegt), dann wird jacoco niemals ausgeführt.
Die Lösung ist zu ersetzen:
<argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>
mit
<argLine>-Dfile.encoding=${project.build.sourceEncoding} ${argLine}</argLine>
Bedeutung, jacoco des argLine
auf den neuen Wert anhängen.
UPDATE: Wie Fodder wies darauf hin, wenn Sie JaCoCo und kein anderes Plugin nicht immer laufen setzt ${argLine}
dann Maven beklagen, dass ${argLine}
nicht definiert ist. Um dies zu beheben, definieren Sie einfach, was ${argLine}
aussehen sollte, wenn JaCoCo übersprungen:
<properties>
<argLine/>
</properties>
In diesem Fall verwenden Sie @ {argLine} anstelle von $ {} argLine als here erklärt.
Ich würde hinzufügen, dass es nur benötigt wird, wenn Sie die Konfiguration von ArgLine für todsichere Plugin ändern. Ansonsten ist die Standardkonfiguration in Ordnung. – shevchyk
Wenn Sie Tycho (für Eclipse-Plugins und -Anwendungen) verwenden, verwenden Sie $ {tycho.testArgLine} anstelle von $ {argLine}. – n8n8baby
danke danke danke! –