Ответ 1
Прочитав https://groups.google.com/forum/#!topic/jacoco/LzmCezW8VKA, выясняется, что prepare-agent
устанавливает свойство surefire, называемое argLine
. Если вы переопределите это свойство (что-то, что https://issues.apache.org/jira/browse/SUREFIRE-951 побуждает вас делать), то jacoco никогда не заканчивается.
Решение заключается в замене:
<argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>
с
<argLine>-Dfile.encoding=${project.build.sourceEncoding} ${argLine}</argLine>
Значение, добавьте jacoco argLine
к новому значению.
ОБНОВЛЕНИЕ. Как указано Fodder, если вы не всегда используете JaCoCo и другие плагины для плагинов ${argLine}
то Maven будет жаловаться, что ${argLine}
- undefined. Чтобы решить эту проблему, просто определите, что должно выглядеть ${argLine}
при пропуске JaCoCo:
<properties>
<argLine/>
</properties>
В этом случае используйте @{argLine} вместо ${argLine}, как описано здесь.