从不同的应用程序模块导入依赖项时,Spring Boot REST API 将不会启动

我正在使用 Spring Boot 构建 REST API,因为我们的其他 API 使用 Drop-wizard 并且不使用 Spring。我需要使用一些代码,特别是 JMS 代码来将消息发送到应用程序的各个不同部分,因此需要构建一个新的 API,以便我们可以从不同的模块导入依赖项。我的 API 工作得很好,直到我导入一个需要访问已编写的 JMS 代码的依赖项。


我已经通过各种不同的来源来尝试查找我的 spring boot 依赖项和其他模块使用的 spring 依赖项之间是否存在任何不匹配的版本。


我咨询了我的同事(他们有 30 年的经验),但无法给出答案。


我尝试过使用不同版本的 spring-boot 来看看是否可以解决问题。


我正在使用以下 Spring-Boot 父版本


 <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>2.0.5.RELEASE</version>

    <relativePath />

</parent>

然后使用以下依赖项:


<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-test</artifactId>

        <scope>test</scope>

    </dependency>

我可以向不同的端点发送各种不同的 GET 和 POST 请求,并且一切正常,直到我将此依赖项放入我的 pom.xml (来自生产系统的另一个模块):


<dependency>

    <groupId>com.kinesisfleet.messaging</groupId>

    <artifactId>kinesis-messaging</artifactId>

</dependency>

系统的这个特定模块的 pom 使用 spring,并使用以下依赖项:


<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-core</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-beans</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-context</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-orm</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-tx</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework.data</groupId>

  <artifactId>spring-data-jpa</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-test</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-jms</artifactId>

</dependency>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-web</artifactId>

</dependency>


一只名叫tom的猫
浏览 111回答 2
2回答

慕仙森

您可以尝试使用此命令在 Maven 中打印依赖关系树&nbsp;mvn dependency:tree&nbsp;,以查看添加依赖关系时哪个版本导致问题

神不在的星期二

通过添加导致问题的依赖项所需的 spring 依赖项解决了这个问题!感谢您的回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java