当前位置: 首页 > 知识库问答 >
问题:

springboot - spring-boot-dependencies 与spring-boot-starter-web冲突?

谭俊
2023-04-21

我的项目root目录下pom文件添加了springboot的依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.6.3</version>
            <type>pom</type>
            <scope>import</scope>
</dependency>

前端的目录下pom中添加了,要用到@restcontroller

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.6.3</version>
        </dependency>

然后一堆包冲突,是不是我的做法有错误,还是版本问题?

共有1个答案

吕昀
2023-04-21

spring-boot-dependencies 和 spring-boot-starter-web 并不会发生冲突,它们分别是 Spring Boot 提供的依赖管理和 Web Starter,可以在一个项目中同时使用。

spring-boot-dependencies 是一个 Maven BOM(Bill of Materials),包含了所有 Spring Boot 项目中使用的依赖的版本信息,可以通过继承该 BOM 来轻松管理版本。它是一个空的 Maven 项目,只包含一个 pom.xml 文件,用于统一管理 Spring Boot 的依赖版本号。您可以在自己的项目中添加 BOM 依赖,例如:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.6.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

spring-boot-starter-web 则是 Spring Boot Web Starter,包含了一些常用的 Web 组件,比如 Spring MVC、Tomcat、Jackson 等。通过添加该依赖,可以快速构建基于 Spring MVC 的 Web 项目。您可以在 Maven 项目中添加如下依赖:

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

如果您在添加 spring-boot-starter-web 依赖时发生冲突,可能是由于您在项目中同时添加了其他的 Web 框架、Servlet 容器或者 Spring Boot 的其他 Starter,这些依赖会导致版本冲突。您可以使用 mvn dependency:tree 命令查看项目依赖树,找到冲突的依赖,并将其排除或者升级版本。

 类似资料:
  • 我正在努力学习spring boot,我注意到有两种选择。 > spring-boot-starter-web-根据文档,它支持全栈web开发,包括Tomcat和web-mvc spring-Boot-Starter-Tomcat 既然#1支持Tomcat,为什么要使用#2呢? 有什么不同? 谢谢

  • 主要内容:Spring Boot Web 快速开发,示例 Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,其本身就是 Spring 框架的一部分,可以与 Spring 无缝集成,性能方面具有先天的优越性,是当今业界最主流的 Web 开发框架之一。   Spring Boot 是在 Spring 的基础上创建一款开源框架,它提供了 spring-boot-starter-web(Web 场景启动器) 来为

  • batch-web-spring-boot-starter 是由Spring Boot提供支持的企业级生产就绪批处理应用程序。 功能包括: 启动Web应用程序并自动为其部署批处理作业(JavaConfig,XML或JSR-352)。 日志文件分离,每个作业执行一个日志文件。 用于启动和停止作业的操作http端点,用于检索BatchStatus和日志文件。 监视http端点,用于检索有关作业执行的详

  • 我试图将Spark应用程序与spring boot集成,但由于Spark core也有jetty server和servlet包,它们与spring boot web starter servlet包冲突。 我已经在下面的帖子中排除了初学者日志记录 谢谢

  • 当时我试着将其中一个依赖项包括在内,但我找不到任何区别: Spring boot starter Web:我可以看到Flux和Mono类,并制作一个反应性rest控制器 Spring boot starter WebFlux:我可以看到rest控制器类和注释,并且可以制作一个规范的rest控制器 那么,我错过了什么?使用spring boot 2.2.5-释放。

  • 主要内容:starter,spring-boot-starter-parent传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制。本节我们将对 stater 进行介绍。 starter Spring Boot 将日常企业应用研发中的各种场景都抽取出来,做成一个个的