Использование зависимостей артефакта - PullRequest
0 голосов
/ 03 апреля 2019

У меня сложный проект Spring с десятками зависимостей и модулей.Я заметил, что некоторые из них могут быть заменены на spring-boot-starters.

Однако, когда я заменяю некоторые зависимости начальными значениями в main, parent pom, я получаю ошибки в дочерних модулях.

Вот пример:

РОДИТЕЛЬСКИЙ ПОМ

<dependencyManagement>
  <dependencies>      
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-activemq</artifactId>
      <version>2.0.5.RELEASE</version>
    </dependency>
  </dependencies>
</dependencyManagement>

МОДУЛЬНЫЙ ПОМ

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jms</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
</dependency>

Согласно репозиторию maven spring-boot-starter-activemq зависит, среди прочего, от spring-boot-starter и spring-jms.

Должны ли эти зависимости быть доступны для модулей?

Есть ли способ использовать такие зависимости?Я бы сделал файлы POM короче.

Или, может быть, это плохая идея, и я должен определить все зависимости, которые я буду использовать в dependencyManagement?

1 Ответ

1 голос
/ 04 апреля 2019

В POM у вас должны быть все зависимости, которые вы непосредственно используете в своем коде. Не полагайтесь на переходное разрешение для вещей, которые вы активно используете.

Ваша конструкция не работает, потому что вы не управляли spring-jsm и spring-boot-starter в управлении зависимостями. Быть зависимостью управляемой зависимости не помогает.

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