修改SpringBoot项目的Parent

简介: 修改SpringBoot项目的Parent

       通过 SpringBoot 创建的项目,默认都会使用 SpringBoot 作为 POM 文件的 parent。但是有些时候我们可能不想使用 SpringBoot 作为项目的 parent。这时候就需要修改 POM 文件来完成。


默认的 POM 文件

       默认创建完 SpringBoot 的项目后,parent 标签如下所示。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath/><!--lookupparentfromrepository--></parent>

      此时,parent 标签中使用的就是 SpringBoot 作为 parent,假如要创建一个 Maven 的聚合项目,而 Module 中的 POM 需要使用父 POM 作为 parent 时,此时就不能用 SpringBoot 做 parent 了。那么,我们就需要修改 POM 文件了。


修改后的 POM 文件

       不使用 SpringBoot 作为项目的 parent,只要把 parent 部分替换为自己的 parent 即可,而 SpringBoot 对应的部分移动到另外一个部分。在 dependencyManagement 下添加 SpringBoot 的依赖。配置文件如下。

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

       只要有上面的配置,直接在 IDEA 中是可以启动项目的,但是打包后就无法启动了。提示如下:

Error: Unabletoaccessjarfileeurekaserver-0.0.1-SNAPSHOT.jar

       想要解决该问题,需要在 build 下增加相关的配置,配置如下:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.3</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

      关键就是增加 repackage 的配置项即可。在启动项目就可以顺利的启动了。


小结

      通过上面两处的配置,就可以方便的替换 SpringBoot 项目的 parent 了。

相关文章
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架(九)Spring Boot 通用Dubbo Parent POM
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为通用Dubbo Maven POM的集成,只需集成Parent POM即可使用
|
2月前
|
Java 编译器 Maven
SpringBoot(二)之parent解析
默认配置spring-boot-maven-plugin,简化构建spring-boot的构建流程。
45 1
|
2月前
|
Java 应用服务中间件 Maven
Springboot入门基础知识详解 parent starter 引导类 辅助功能
Springboot入门基础知识详解 parent starter 引导类 辅助功能
28 2
|
Java 应用服务中间件 容器
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(二)
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(二)
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(二)
|
JSON Java 应用服务中间件
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(一)
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(一)
SpringBoot到底是什么?如何理解parent、starter、引导类以及内嵌Tomcat?(一)
|
Java Spring
Spring boot自定义parent POM
Spring boot自定义parent POM
|
4天前
|
SQL JavaScript 前端开发
vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)
这篇文章详细介绍了如何在Vue.js中使用分页组件展示从数据库查询出来的数据,包括前端Vue页面的表格和分页组件代码,以及后端SpringBoot的控制层和SQL查询语句。
vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)
|
3天前
|
前端开发 JavaScript Java
SpringBoot+Vue+token实现(表单+图片)上传、图片地址保存到数据库。上传图片保存位置自己定义、图片可以在前端回显(一))
这篇文章详细介绍了在SpringBoot+Vue项目中实现表单和图片上传的完整流程,包括前端上传、后端接口处理、数据库保存图片路径,以及前端图片回显的方法,同时探讨了图片资源映射、token验证、过滤器配置等相关问题。
|
3天前
|
前端开发 数据库
SpringBoot+Vue+token实现(表单+图片)上传、图片地址保存到数据库。上传图片保存位置到项目中的静态资源下、图片可以在前端回显(二))
这篇文章是关于如何在SpringBoot+Vue+token的环境下实现表单和图片上传的优化篇,主要改进是将图片保存位置从磁盘指定位置改为项目中的静态资源目录,使得图片资源可以跨环境访问,并在前端正确回显。