Исключение при использовании Jetty с инструментальными классами Cobertura

#log4j #jetty #integration-testing #cobertura

#log4j #jetty #интеграция-тестирование #cobertura

Вопрос:

При запуске Jetty с инструментальными классами от Cobertura я получаю следующее исключение:

 NoSuchMethodError: org.apache.log4j.xml.XMLLayout.setProperties(Z)V
  

Может ли это быть из-за конфликтов версий, потому что log4j использует Cobertura?
Что мне следует делать в этом случае?

Ответ №1:

Похоже, что добавление cobertura-runtime артефакта в мой, pom а не cobertura артефакт, решило эту проблему. cobertura-runtime было введено для того, чтобы удалить log4j зависимость при запуске вашего веб-приложения.

Это зависимость, которую я добавил:

 <dependency>
    <groupId>net.sourceforge.cobertura</groupId>
    <artifactId>cobertura-runtime</artifactId>
    <version>1.9.4.1</version>
    <type>pom</type>
</dependency>
  

Отлично!