В моем проекте есть несколько зависимостей (действительно много), и я добавляю их в зависимость. Но я не хочу никакой транзитивной зависимости, которая будет вне моего контроля (maven приносит мне почти три раза то, что мне нужно). Я попытался запретить переходную зависимость таким образом:Отключить транзитивные зависимости, не работающие
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
Но после того, как я сделал МВН пакет, транзитивные зависимости все еще загружены и добавлены в мой пакет построен. Вот каротаж maven:
[DEBUG] Dependencies for project:com.XXX.XXX:
org.apache.XXX
org.apache.XXX.YYY
...
[DEBUG] Resolving project dependencies transitively:
[DEBUG] org.com.XXX.yyy
[DEBUG] org.apache.ZZZ
...
[DEBUG] Adding artifact: org.apache.ZZZ with file: ${file name} to assembly location: lib/${file name}.jar
...
Так что это не то, что я хочу. Я хочу, чтобы либо maven НЕ автоматически загружал транзитивные зависимости, либо не добавлял их в мой «пакет mvn».
Цените любую помощь.
Дубликат http://stackoverflow.com/questions/547805/exclude-all-transitive-dependencies-of-a-single-dependency – BadZen
Этот ответ просто не работает. Пожалуйста, прочитайте описание вопроса перед тем, как пометить его как «duplicate» – mattsun
«Для maven 2 я бы рекомендовал создать собственный пользовательский pom для зависимостей, который имеет ваш. Для проектов, которые должны использовать эту зависимость, задайте зависимость к вашей пользовательской вместо типичного артефакта ». –
BadZen