Spring Boot 不使用默认的 parent,改用自己的项目的 parent

在初学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>

请注意,它的 typepomscopeimport,这种类型的 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-webspring-boot-starter-testspring-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 官方文档

原文地址:https://www.cnblogs.com/jpfss/p/9037026.html

时间: 2024-10-10 06:01:16

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

SpringBoot项目的parent依赖和配置文件*.properties、*.yml详解

1.idea创建SpringBoot项目 idea创建SpringBoot项目应该对很多人来说已经是菜到不能到菜的操作了,但是对于初学者小白来说,还是要讲解一下的.打开idea,然后选择Spring Initializr直接点击next,这里需要说一下的是这个界面上有一个http://start.spring.io链接,这个链接就是SpringBoot的官网链接,大家可以到SpringBoot官网创建项目然后导入到idea中,这个操作就自行百度了,我想直接可以在idea中操作,为什么还要到官网上

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

前言 默认情况下,Spring Boot内置的Tomcat服务会使用8080端口启动,我们可以使用以下任何技巧去更改默认的Tomcat端口: 注:我们可以通过server.port=0配置,去自动配置一个未被占用的http端口,由操作系统实现. 1)通过application.properties配置文件修改端口 通过配置application.properties文件几个简单的参数,我们可以实现很多美妙的功能,哈哈哈:改变端口就是其中一个,很简单,如下所示: ### Default serve

spring boot 项目设置默认访问路径方法

spring boot项目一般通过Application启动,且不需要配置web.xml,所以设置默认访问页面可以通过以下方法实现,比如增加默认DefaultView类,代码如下: import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.web.servlet.config.annotation.

设置qt creator默认开启空白c和c++项目的c++11和c99支持

修改 C:\Qt\Qt5.4.0\Tools\QtCreator\share\qtcreator\templates\wizards\plaincppapp\qmake\project.pro C:\Qt\Qt5.4.0\Tools\QtCreator\share\qtcreator\templates\wizards\plaincapp\qmake\project.pro 加入两行 CONFIG += c++11 QMAKE_CFLAGS += -std=c99 其它 C:\Qt\Qt5.4.

创建Spring Boot项目的几种方式总结

一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构建代码的Maven或Gradle构建说明文件.你只需要写应用程序的代码就好了. Spring Initializr有几种用法. 通过Web界面使用. 通过Spring Tool Suite使用. 通过IntelliJ IDEA使

Spring boot 配置https 实现java通过https接口访问

近来公司需要搭建一个https的服务器来调试接口(服务器用的spring boot框架),刚开始接触就是一顿百度,最后发现互联网认可的https安全链接的证书需要去CA认证机构申请,由于是调试阶段就采用了java的keytool工具来生成密钥文件,下面是生成密钥文件的指令和步骤(前提是需要配置好java 的环境变量). 1.首先打开cmd命令,操作如下: keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 20

只有代码不会撒谎,如何通过Spring boot源码查看其对于各个框架的默认配置

我发现很多开发对于看源码都有种恐惧心理,其实不必这样,大部分优秀的源码写的都挺直观的,很多时候,你在搜索引擎上搜到的一些东西并不一定是真的,但源码肯定不会是假的,毕竟不管你怎么想,它就在那里,该是什么意思就是什么意思,不以人的主观而改变. 譬如spring boot对于开源框架的默认配置都在这个包下面,想知道自己使用的框架在spring boot里的默认配置是怎样的可以直接在这个包下找,这比你搜到的东西更直观,明确,毕竟你搜到的东西可能跟你的版本不一致 org.springframework.b

Spring MVC或Spring Boot配置默认访问页面不生效?

相信在开发项目过程中,设置默认访问页面应该都用过.但是有时候设置了却不起作用.你知道是什么原因吗?今天就来说说我遇到的问题. 首先说说配置默认访问页面有哪几种方式. 1.tomcat配置默认访问页面 进入 tomcat 的 conf 目录,编辑 web.xml 文件.在 <web-app></web-app> 添加默认访问页面. <welcome-file-list> <welcome-file>index.html</welcome-file>

Spring boot(4)-应用打包部署

摘自: http://blog.csdn.net/hguisu/article/details/51072683 1.Spring Boot内置web spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. 对server的几个常用的配