У меня есть pom, приложение верхнего уровня, в котором есть 2 модуля, сервис и веб.Я обычно компилирую, используя " mvn -Pprofile1, profile2 -DskipTests clean install " из каталога приложения.Реактор правильно вычисляет, что сервис должен быть скомпилирован до публикации.По какой-то причине, и это моя проблема / вопрос, он включает версию 4.3.6 И 4.4.1 для org.apache.httpcomponents: httpclient: jar в окончательной сборке WAR и, следовательно, в моем каталоге внешних библиотек IntelliJ.Почему?
Так что больше информации, чтобы помочь в обсуждении:
Соответствующие фрагменты службы пом:
...
<properties>
<httpclient.version>4.4.1</httpclient.version>
<some.jar.version>2.3.4</some.jar.version>
</properties>
<dependencies>
<dependency>
<groupId>org.company</groupId>
<artifactId>some-jar</artifactId>
<version>${some.jar.version}</version>
<exclusions>
<exclusion>
<!-- Don't bring in httpclient 4.3.6 -->
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
</dependencies>
...
Соответствующие фрагменты веб-пом:
...
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>service</artifact>
<version>${project.version}</version>
</dependency>
</dependencies>
...
Вот фрагмент дерева зависимостей из каталога службы
----------------------------------------------
Building Service 1.0-SNAPSHOT
----------------------------------------------
--- maven-dependency-plugin:3.0.0:tree (default-cli) service ---
company:service:jar:1.0-SNAPSHOT
+- org.company.some-jar:jar:2.3.4:compile
| \- org.company2.another-jar:jar:1.2.3:compile
+- org.apache.httpcomponents:httpclient:jar:4.4.1:compile
----------------------------------------------
BUILD SUCCESS
----------------------------------------------
Вот фрагмент дерева зависимостей из веб-каталога
----------------------------------------------
Building Web 1.0-SNAPSHOT
----------------------------------------------
--- maven-dependency-plugin:3.0.0:tree (default-cli) web ---
company:web:war:1.0-SNAPSHOT
\- company:service:jar:1.0-SNAPSHOT:compile
+- org.company.some-jar:jar:2.3.4:compile
| \- org.company2.another-jar:jar:1.2.3:compile
+- org.apache.httpcomponents:httpclient:jar:4.3.6:compile
----------------------------------------------
BUILD SUCCESS
----------------------------------------------
Почему дерево зависимостей веб-проекта говорит, что служба jar тянет в 4.3.6 httpclient, когда зависимостьдерево корректного обслуживания говорит, что оно тянет в версии 4.4.1?
ПРИМЕЧАНИЕ. Других ссылок на httpclient нет ни в деревьях зависимостей, ни в poms.