解决 SpringBoot 不继承父 parent 打包不包含依赖的问题

开源君
• 阅读 17954

由于项目需要继承自己平台的父 parent , 有的模块是纯 api ,不能有任何依赖, 所以父 parent 不能直接引入 springboot, 单独给非 boot 项目排除依赖的话又特别的麻烦, 且不好把控。

记得刚接触 SpringBoot 时看的官方文档里面有给方案。打开官网找了找。
官方文档:using-boot-maven-without-a-parent

官方让添加如下依赖管理

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.6.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

更换父 parent 加入依赖管理后, 可以正常运行, 但是打出的包是不包含依赖的。
也就是说, 我们不能直接使用 jar -jar demo.jar 的方式启动项目。

经过搜索, 找到了如下解决方案
原链接

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <mainClass>com.junbaor.test.App</mainClass>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

添加后再次打包, 一切正常。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
4年前
springboot入门之简单demo
项目构建  我们采用maven构建SpringBoot工程,首先创建一个maven工程,对应的pom文件如下:<properties<java.version1.8</java.version</properties<!集成springboot的父依赖
Stella981 Stella981
4年前
SpringBoot 2.0 系列003
SpringBoot2.0系列003自定义Parent默认我们使用SpringBoot的方式是通过SB的parent项目的方式,此种之前的教程中我们已经演示过了,这里不做赘述。使用自定义parent管理SpringBoot项目
Stella981 Stella981
4年前
Docker部署SpringBoot项目
SpringBoot项目代码首先构建一个简单的SpringBoot项目,然后给项目添加Docker支持,最后对项目进行部署。在pom.xml中添加SpringBoot依赖,并添加Web支持。<parent<groupIdorg.springfr
Wesley13 Wesley13
4年前
maven父子模块jar包管理和spring boot
maven父子模块jar包管理和springboot项目结构:parent父模块空maven项目,用于管理子模块controllerservicedaomodelclient被其他项目依赖进行微服务内部调用(因下面问题导致client
Easter79 Easter79
4年前
Springboot修改内嵌Tomcat版本
最近Tomcat爆出高危漏洞,基本影响所有的Tomcat版本,故需要对springboot项目进行版本升级ps:一般不建议修改springboot内嵌版本,内嵌版本都是经过验证比较稳定的版本1、查询springboot内嵌的版本使用idea等工具可以直接通过pom文件查看下面parent里面的To
Easter79 Easter79
4年前
SpringBoot怎么管理封装java包的关系
首先SpringBoot直接写注解加依赖就可以了,基本上不用写xml,非常方便,在这里我只写了两个核心包为什么选择jar类型?      SpringBoot基本上是个应用程序了,只要用java命令程序去运行就可以了,所以不用选择war类型核心依赖<!—引入SpringBoot父类依赖<depend
Easter79 Easter79
4年前
SpringBoot依赖外置
背景近期有个SpringBoot的项目需要频繁更新,但是每次上传到服务器上几十MB,实在是花时间,所以打算优化打包方案,将第三方依赖外置流程首先使用SpringBoot打包插件将第三方排除,但是一些版本号同步更新的本地模块依赖需要放到一个jar中使用mavendependency插件将第三方依赖复制到构建目录中
Stella981 Stella981
4年前
SpringBoot依赖外置
背景近期有个SpringBoot的项目需要频繁更新,但是每次上传到服务器上几十MB,实在是花时间,所以打算优化打包方案,将第三方依赖外置流程首先使用SpringBoot打包插件将第三方排除,但是一些版本号同步更新的本地模块依赖需要放到一个jar中使用mavendependency插件将第三方依赖复制到构建目录中
Stella981 Stella981
4年前
SpringBoot怎么管理封装java包的关系
首先SpringBoot直接写注解加依赖就可以了,基本上不用写xml,非常方便,在这里我只写了两个核心包为什么选择jar类型?      SpringBoot基本上是个应用程序了,只要用java命令程序去运行就可以了,所以不用选择war类型核心依赖<!—引入SpringBoot父类依赖<depend
Easter79 Easter79
4年前
Springboot2.x整合logback slf4j
Springboot项目的pom里引入的parent<parent<groupIdorg.springframework.boot</groupId<artifactIdspringbootstarterparent</artifactId<version2.0.0.RELE
Easter79 Easter79
4年前
SpringBoot——小试牛刀三阶段
21.SpringBoot的父级依赖1)创建父级工程pom.xml2)在父级工程里创建子module,pom.xml如下<?xml version"1.0" encoding"UTF8"?<project xmlns"http://maven.apache.org/POM/4.0.