SpringBoot如何打包自定义生成的包名

 更新时间:2023年06月20日 09:15:08   作者:HuanBuXingDeXingXing  
这篇文章主要介绍了SpringBoot如何打包自定义生成的包名问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBoot打包自定义生成的包名

pom.xml中,在build标签中加入如下标签即可

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <!-- 自定义打包的包名称 -->
        <finalName>singleRedis</finalName>
    </build>

效果:

SpringBoot自定义静态jar包,并在打包时打包自定义包

场景说明

在开发中,有时需要引入自有定义的jar包(比如:公司内自有的公共模块),而公司又没有搭建私有 maven 仓库。

引入自定义包有一下几种方式:

将自定义包导入开发者电脑的maven仓库,再像其他包的引用方式引入到项目中

这种方式有明显的不方便之处:所有开发者都要先获取到此自定义的包,并按指定的名称导入到自己的maven仓库中。

引入自定义包命令示例如下:

mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar

将自定义包放在项目源码里

这种方式会使项目源码体积变大,但所有人开发者不需要做特殊处理,获取到代码可以直接运行。

本文主要对方式二进行说明。

配置说明

1、引入自定义包

1)将自定义包放在项目中,假设放在 /resources/lib 目录下,文件名为:xxxx-1.0.jar。

2)配置 pom.xml 文件,引入自定义的文件:

<dependency>
    <groupId>xxxx</groupId>
    <artifactId>xxxx</artifactId>
    <version>1.0</version>
    <systemPath>${basedir}/src/main/resources/lib/xxxx-1.0.jar</systemPath>
    <scope>system</scope>
</dependency>

至此,就可以正常使用 xxxx-1.0.jar包了。

2、配置打包时包含自定义包

到目前为止,开发是没有问题,但是通过命令 mvn package 打包后,会发现打包后的 BOOT-INF\lib(war打包方式在 WEB-INF/lib-provided 目录下) 下并没有包含我们引入的自定义包。

在 pom.xml 加入以下配置:

<configuration>
    <includeSystemScope>true</includeSystemScope>
</configuration>

详细配置如下:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <includeSystemScope>true</includeSystemScope>
     </configuration>
</plugin>

再次打包时,就可看到新打的包中包含自定义包。

总结

 以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java 正则,object中两个方法的使用(详解)

    java 正则,object中两个方法的使用(详解)

    下面小编就为大家带来一篇java 正则,object中两个方法的使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • shiro+jwt登陆验证实现教程

    shiro+jwt登陆验证实现教程

    本文介绍了如何使用Shiro和JWT实现登录认证,并通过自定义Realm和过滤器来完成身份验证和授权,通过测试,展示了如何携带JWT令牌进行接口访问,并验证了其有效期
    2026-03-03
  • Java如何利用Easyexcel动态导出表头列

    Java如何利用Easyexcel动态导出表头列

    这篇文章主要介绍了Java利用Easyexcel动态导出表头列的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Java中的延迟队列DelayQueue详细解析

    Java中的延迟队列DelayQueue详细解析

    这篇文章主要介绍了Java中的延迟队列DelayQueue详细解析,JDK自身支持延迟队列的数据结构,其实类:java.util.concurrent.DelayQueue,<BR>我们通过阅读源码的方式理解该延迟队列类的实现过程,需要的朋友可以参考下
    2023-12-12
  • Spring Cloud Netflix架构浅析(小结)

    Spring Cloud Netflix架构浅析(小结)

    这篇文章主要介绍了Spring Cloud Netflix架构浅析(小结),详解的介绍了Spring Cloud Netflix的概念和组件等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Java躲不过设计模式的坑之代理模式详解

    Java躲不过设计模式的坑之代理模式详解

    设计模式看来更像是一种设计思维或设计思想,为你的项目工程提供方向,让你的项目工程更加健壮、灵活,延续生命力。本文即将分享的是设计模式的其中一种:代理模式,感兴趣的可以了解一下
    2022-09-09
  • Java Socket 编程详解

    Java Socket 编程详解

    Java Socket 编程是指使用 Java 语言进行网络通信的过程,包括建立连接、传输数据和关闭连接等操作,本文将详细介绍Java Socket编程,需要的朋友可以参考下
    2023-05-05
  • Java桥接模式实例详解【简单版与升级版】

    Java桥接模式实例详解【简单版与升级版】

    这篇文章主要介绍了Java桥接模式,结合实例形式分析了java桥接模式简单版与升级版两种实现技巧,需要的朋友可以参考下
    2019-07-07
  • 全面解析SpringBoot自动配置的实现原理

    全面解析SpringBoot自动配置的实现原理

    这篇文章主要介绍了全面解析SpringBoot自动配置的实现原理的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java多线程中的ThreadPoolExecutor使用解析

    Java多线程中的ThreadPoolExecutor使用解析

    这篇文章主要介绍了Java多线程中的ThreadPoolExecutor使用解析,作为线程池的缓冲,当新增线程超过maximumPoolSize时,会将新增线程暂时存放到该队列中,需要的朋友可以参考下
    2023-12-12

最新评论