前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

在初学spring boot时,官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent 这个parent:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.1.RELEASE</version>
</parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

但是,一般情况下,在我们自己的项目中,会定义一下自己的 parent 项目,这种情况下,上面的这种做法就行不通了。那么,该如何来做呢?其实,在spring的官网也给出了变通的方法的:

在我们自己 parent 项目中,加下下面的声明

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

请注意,它的 type 是 pomscope 是 import,这种类型的 dependency 只能在 dependencyManagement 标签中声明。

然后,把我们项目中的 子项目 中,parent 的声明,修改为我们自己项目的 parent 项目就可以了,比如,我的是:

 <parent><groupId>org.test</groupId><artifactId>spring</artifactId><version>0.1-SNAPSHOT</version></parent>

有一点,需要注意一下。 
在 子项目 的 dependencies 中,不需要(也不能)再次添加对 spring-boot-dependencies 的声明了,否则 子项目 将无法编译通过。

即,在 子项目 中,下面的配置是多余的:

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

为什么会这个样子呢? 
因为 spring-boot-dependencies 根本就没有对应的jar包,它只是一个 pom 配置,可以去 maven仓库 看一下。 
它里面定义了 非常多 的依赖声明。

所以,有了它之后,我们在 子项目 中使用到的相关依赖,就不需要声明version了,如:

<dependencies><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>
</dependencies>

如,spring-boot-starter-web 和 spring-boot-starter-test 在 spring-boot-dependencies 中的声明分别为:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>1.5.1.RELEASE</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>1.5.1.RELEASE</version><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>

参考文档 
- spring 官方文档

Spring Boot 不使用默认的 parent,改用自己的项目的 parent相关推荐

  1. 如何在Spring boot中修改默认端口

    文章目录 介绍 使用Property文件 在程序中指定 使用命令行参数 值生效的顺序 如何在Spring boot中修改默认端口 介绍 Spring boot为应用程序提供了很多属性的默认值.但是有时 ...

  2. spring boot 1.4默认使用 hibernate validator

    spring boot 1.4默认使用 hibernate validator 5.2.4 Final实现校验功能.hibernate validator 5.2.4 Final是JSR 349 Be ...

  3. 2021-08-05SpringCloud升级之路2020.0.x版-5.所有项目的parent与spring-framework-common说明

    本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 源代码文件:htt ...

  4. Spring Boot - 修改Tomcat默认的8080端口

    前言 默认情况下,Spring Boot内置的Tomcat服务会使用8080端口启动,我们可以使用以下任何技巧去更改默认的Tomcat端口: 注:我们可以通过server.port=0配置,去自动配置 ...

  5. Spring Boot端口从默认更改为自定义或新端口

    更改Spring Boot应用程序端口的快速指南. application.properties文件和yml文件中的server.port属性的示例. 以及从命令行参数@ SpringBootAppl ...

  6. spring boot 如何修改默认端口号和context path

    创建了SpringBoot项目之后进行运行,当我们需要使用游览器进行访问的时候要输入端口号,那麽我们如何来修改这个端口号呢??? 1.在src/main/resources目录下新建文件applica ...

  7. Spring Boot缓存实战 默认Cache(ConcurrentMapCacheManager)

    Spring boot默认使用的是SimpleCacheConfiguration,即使用ConcurrentMapCacheManager来实现缓存. pom文件 <dependencies& ...

  8. Spring Boot Vue从零开始搭建系统(三):项目前后端分离

    转载 http://www.360doc.com/content/19/1030/11/67080110_870024161.shtml 前言 本文主要是想通过后端 Spring Boot 技术和前端 ...

  9. spring boot中修改默认端口号

    原文:https://blog.csdn.net/zknxx/article/details/53433592 修改application.properties 第一种方式我们只需要在applicat ...

最新文章

  1. 谷歌发布 RLDS,在强化学习生成、共享和使用数据集
  2. 计算机领域中的牛人,计算机视觉领域的牛人 | 丕子
  3. 4.9 总结-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  4. Electron中通过net的API发出HTTP请求
  5. CentOS x64上Matlab R2015b的镜像安装方法与卸载
  6. sql 之as(Aliases)别名(mysql)
  7. Microsoft SharePoint Server 2010 的新增功能
  8. 王道考研 计算机网络5 分层结构 协议 服务 接口
  9. 计算机专业教研成绩,2018学年第一学期计算机组教研组工作计划
  10. 小型金融知识图谱构流程示范
  11. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-2 动画过渡
  12. 怎样关闭计算机445端口,445端口怎么关闭 445端口关闭方法介绍
  13. JPA简介及其使用详解
  14. PS改变证件照片背景颜色
  15. 图虫知识共享协议_100%避免图片版权侵权的方法(网站图片侵权赔款标准)
  16. AI绘图之基于文本/图片制图
  17. C++STL常用算法adjacent_find
  18. 携手共进 智享未来丨美格智能2023年代理商合作伙伴大会成功举办
  19. 为什eclipse中调试的时候总是不弹出调试界面而是安装运行
  20. 防火墙阻止应用程序linux,win10系统下如何解除被防火墙阻止运行的应用程序

热门文章

  1. 浏览器字体大小设置_CSS之 浏览器解析样式的过程
  2. springboot超详细教程_超详细便当袋教程 || 特殊时期,自己带饭最安心!
  3. fxml设置背景_JavaFX – 如何获取Tab,Button等的背景颜色
  4. 【洛谷 - 快来签到】(数学,公式,溢出爆longlong的处理)
  5. KITTI自动驾驶数据集可视化教程
  6. mess系统可以读取opc服务器,C3. Messages
  7. docker jenkins 公钥_代码自动发布docker(20.10.1)+k8s(1.20.1)
  8. 摩托罗拉为什么要限制自家linux手机,摩托罗拉为何在安卓手机大放异彩的时候,突然开始衰败了呢?...
  9. Java迭代器修改链表_Java恼人的迭代器不会返回链表中的元素
  10. 计算分数数组中去掉最低分的平均分,并打印