Maven: избавиться от старой зависимости - PullRequest
0 голосов
/ 18 октября 2018

У меня есть проект на основе maven под названием XYZ, который имеет следующую зависимость:

<dependency>
  <groupid>com.example.test</groupid>
  <artifactId>PQR</artifactId>
  <version>${version}</version>
</dependency>

Эта зависимость PQR имеет другую зависимость maven ABC версии 1.2 Когда я использую XYZ в качестве зависимости в другом проекте, я хочу использоватьABC версии 1.4.

Я попытался сделать следующее: 1) изменить порядок зависимости: (явно добавив зависимость ABC 1.4)

<dependency>
  <groupId>com.exampe.test</groupId>
  <artifactId>ABC</artifactId>
  <version>1.4</version>
</dependency>
<dependency>
  <groupid>com.example.test</groupid>
  <artifactId>PQR</artifactId>
  <version>${version}</version>
</dependency>

2) Исключить ABC из PQR

<dependency>
  <groupId>com.exampe.test</groupId>
  <artifactId>ABC</artifactId>
  <version>1.4</version>
</dependency>
<dependency>
  <groupid>com.example.test</groupid>
  <artifactId>PQR</artifactId>
  <version>${version}</version>
  <exclusions>
     <exclusion>
       <artifactId>com.exampe.test</artifactId>
       <groupId>ABC</groupId>
     </exclusion>
  </exclusions>
</dependency>

И то, и другое не работает.Я все еще получаю версию 1.2, когда я использую XYZ в качестве зависимости.Как я могу получить это право?

1 Ответ

0 голосов
/ 18 октября 2018

Ваше первое решение - одна (правильная) возможность.Номера версий в прямых зависимостях всегда выигрывают.Если это не работает для вас, вы, вероятно, допустили ошибку (неверный идентификатор группы, не перестроил или не обновил и т. Д.)

Другим, более элегантным решением было бы добавить

<dependency>
  <groupId>com.exampe.test</groupId>
  <artifactId>ABC</artifactId>
  <version>1.4</version>  
</dependency>

в ваш <dependencyManagement> раздел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...