使用工件的依赖项

时间:2019-04-03 14:52:21

标签: spring maven spring-boot

我有一个包含数十个依赖项和模块的复杂Spring项目。我注意到其中有些可能会被spring-boot-starters取代。

但是,当我用主,父pom中的启动程序替换某些依赖项时,我在子模块中遇到了错误。

这是一个例子:

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>

模块化POM

<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-starterspring-jms

这些依赖性是否可用于模块?

有没有办法使用类似的依赖项?我将使pom文件更短。

或者这样做是一个坏主意,我应该定义将在dependencyManagement中使用的所有依赖项?

1 个答案:

答案 0 :(得分:1)

在POM中,应该具有直接在代码中使用的所有依赖项。请勿主动使用传递解析。

您的构造无法正常工作,因为您没有在dependencyManagement中管理spring-jsmspring-boot-starter。成为托管依赖项的依赖项没有帮助。