У меня проблема с артефактом maven для junit. Он поставляется в комплекте с hamcrest, но мне нравится использовать более позднюю версию hamcrest, поэтому в моих проектах необходимо использовать junit-dep и исключать зависимости от hamcrest.
У меня есть родительский pom.xml с разделом dependencyManagement для обработки нужной мне версии junit-dep и исключения hamcrest. Однако я постоянно сталкиваюсь с проблемой, когда какая-то другая тестовая библиотека включает транзитивную зависимость от junit.
Обратите внимание, что проблема не в номере версии. Это особый артефакт. Я не хочу юнит, я хочу юнит-деп. Есть ли способ сказать в моем управлении зависимостями (или где-либо еще), что я никогда вообще не хочу включать junit какой-либо версии?
<dependencyManagement>
, где все проблемы с зависимостями будут устранены, и сделать все, что вы проектируете, наследованием от этого POM. Если вы сделаете это, в разделе<dependency>
вы должны указать только зависимости без версии. Таким образом, вы знаете, что все ваши зависимости были учтены в одном центральном месте. Если по ошибке вы укажете зависимость без версии не в родительском супер POM, maven обнаружит это и пожалуется. 03.12.2011