SpringBoot自定义打包

SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细) SpringBoot工程中导入本地自定义Jar包 最近在项目中由于要使用一个之前写好的文件上传下载工程的服务,需要将原来的SpringBoot工程打成Jar包放到这次项目中使用。 网上找了一堆案例,最后一个成功的都没有,现在也没搞清楚那些为什么不行,最后请教了一些大佬,最后大家一起解决了问题,记录一下,方便其他需要的人使用 首先 原来的文件上传下载服务是用SpringBoot 写的,目... 阅读详情

SpringBoot自定义格式打包

来上班的第一天让弄个springboot的打包格式,到网上搜了下大概有三种,接下来就给大家简单介绍下。

下面是SpringBoot引用了官方提供的打包插件

<build>
        <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
  </build>
  通过这种方式打包出来的项目,所有文件都放在一个jar包中。这使得jar包非常臃肿,不利于服务器上部署。这时候就希望在maven打包的时候,把一些结构分离出jar包外。

使用基于 maven 自定义格式打包

改变包的目录结构,其中resources下的配置文件放在config目录下,所有的依赖包放在lib下,程序的启动jar就会变得很小。并且代码改变之后,只需要将打包出来的jar上传到服务器替换后再运行就可以了。
目前用过的就这两种:
1:自定义打包的结构,需要修改pom.xml文件中<build>标签里的内容
<build>

        <finalName>FlightChangeService</finalName>
        <resources>
            <resource>
                <!--指定mapping下的所有xml文件打包在jar中-->
                <targetPath>${project.build.directory}/classes</targetPath>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>mapping/*.xml</include>
                </includes>
            </resource>

            <resource>
                <!--resources下一级的所有.xml .properties文件复制到config目录下-->
                <targetPath>${project.build.directory}/config</targetPath>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**.xml</include>
                    <include>**.properties</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <!--maven-dependency插件,将项目所有依赖包放到lib目录下-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <type>jar</type>
                            <includeTypes>jar</includeTypes>
                            <outputDirectory>
                                ${project.build.directory}/lib
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <classesDirectory>target/classes/</classesDirectory>
                    <archive>
                        <!--生成的jar中,不要包含pom.xml和pom.properties这两个文件-->
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <mainClass>com.loongair.Application</mainClass>
                            <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
                            <useUniqueVersions>false</useUniqueVersions>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                        <manifestEntries>
                            <!--jar中的MANIFEST.MF文件ClassPath需要添加config目录才能读取到配置文件-->
                            <Class-Path>config/ .</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

Alt

第二种:主要使用的是maven提供的assembly插件完成
在pom文件下面的build标签下引入assembly依赖


org.apache.maven.plugins

maven-assembly-plugin
2.5.5




java.cn.DemoMain



${project.basedir}/src/main/assembly/assembly.xml

jar-with-dependencies




make-assembly

package


single



在这个位置配置上对应的配置文件
在这个位置配置上对应的配置文件
在这里插入图片描述
最后maven package一下就生成了 在target文件目录里可以看到

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一次写博客 不喜勿喷!

【Qualcomm高通音频】外部Codec调试流程_ES7243E 一、 调试大纲 调试正式开始之前,想办法获取以下信息:硬件设计原理图/Codec参考驱动代码/FAE联系方式。 1. 从硬件设计原理图,我们要获取到Codec芯片和CPU通过什么接口连接,包括数据传输接口、控制接口、reset和power引脚。 2. Codec参考驱动代码,一般正规的厂商都会提供的,至少也提供对应场景的寄存器配置。 接下来开始正式调试,大致分为以下流程: a. 数据... 阅读详情

相关推荐

深入解析路科验证V0实验lab1:SV接口与时钟块实战

本文深入解析了路科验证V0实验Lab1的核心内容,重点阐述了SystemVerilog接口与时钟块在验证环境搭建中的关键作用。通过拆解router_io接口设计、时钟块同步机制及程序块封装,详细讲解了如何构建稳定可靠的验证通信基础,并提供了复位时序分析与常见调试技巧,为后续复杂验证打下坚实基础。

peach的博客 430

SpringBoot使用assembly进行项目定制化打包

SpringBoot使用assembly进行项目定制化打包。

weixin_39956506的博客 911

AI辅助游戏开发实战:Kimi K3提升Unity开发效率与代码质量

在游戏开发领域,有限状态机(FSM)是构建角色AI行为逻辑的核心设计模式,它通过定义明确的状态和转换条件,使游戏实体能够智能地响应环境变化。其原理在于将复杂的行为分解为离散的状态节点,并通过事件驱动状态切换,从而实现清晰、可维护的AI架构。这项技术的价值在于显著提升了游戏角色的行为真实感和开发效率,被广泛应用于NPC行为控制、角色动画管理、UI流程等场景。随着AI编程助手的兴起,开发者现在可以借助如Kimi K3这类工具,通过自然语言指令快速生成和优化FSM等复杂系统的代码框架,将更多精力投入到核心玩法与性

weixin_30430677的博客 407

SpringBoot 之assembly自定义打包

SpringBoot项目使用assembly.xml进行打包部署 前言:      对通常的springboot项目,一般我们都是采用的jar的方式进行启动配置相应的参数。但是对于一些web以及配置型项目操作不方便。      这里我们适用assembly以及自定义脚本进行项目部署:  assembly.xml: &lt;assembly xmlns="http://maven.apa...

湖人•总冠军 6617

CRC_16---ModBus 计算方法及代码实现

1、 CRC寄存器初始值为 0xFFFF;即16个字节全为1; 2、 CRC-16 / ModBus的多项式0xA001H (1010 0000 0000 0001B) ; ‘H’表示16进制数,‘B’表示二进制数。 计算步骤为: (1).预置 16 位寄存器为十六进制 0xFFFF(即全为 1) ,称此寄存器为 CRC 寄存器; (2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器; (3).检测相异或后的CRC寄存器的最低位,若最低位为1,CRC寄存器

1万+

Android 车载开发深度解析:CarPropertyManager 核心机制与实践指南

摘要: Android Automotive OS中,CarPropertyManager作为车载信息娱乐系统的核心组件,连接应用层与车辆硬件(如车速、油量等),其架构基于分层设计(App→CarAPI→VHAL→ECU),采用发布-订阅模式实现高效数据通信。通过HIDL/AIDL跨进程交互及共享内存优化,延迟可降至2ms以下。安全机制包括分级权限控制(VISIBLE/PROTECTED/SYSTEM_RESTRICTED)和HMAC防篡改。开发时需注意监听器生命周期管理、事件合并降负载及低功耗适配。

郑伟强dev的专栏 344

springboot-assembly自定义打包

springboot-assembly自定义打包配置maven-assembly-plugin自定义打包配置文件assembly.xml效果 配置maven-assembly-plugin 放到要打包的pom.xml中 <build> <finalName>sb-my</finalName> <plugins> <plugin> <groupId&gt

没啥简介 1740

19、硬件工程师笔试面试——无线通讯模块(2025版本)

例如,如果你的项目需要传输大量数据,如视频流或大数据文件,那么你可能需要一个高速率的模块,如支持802.11ac或802.11ax(WiFi 6)的模块。如果你的数据传输需求较小,如传感器数据,那么一个较低速率的模块,如蓝牙或Zigbee,可能就足够了。较高的频率(如5GHz)提供更大的带宽,支持更高的数据传输速率,但信号覆盖范围较小,穿透能力较弱。例如,在蓝牙通信中,一台设备作为主机,另一台设备作为从机,它们通过频率跳频的方式确定连接,并在连接建立后通过特定的协议进行数据交换。

XU157303764的博客 3226

SpringBoot打包成jar包时配置分离,依赖jar分离

前言: 在springboot官方文档中貌似没找到,把依赖和配置文件打包出来的教学。不过却看到了有趣的东西。那就是spingboot加载配置文件的顺序,优先级由高到底,高优先级的配置会覆盖低优先级的配置; –file:./config/ –file:./ –classpath:/config/ –classpath:/ 所以当时想的第一种方法就是配置一下pom.xml打包的时候排除config下的...

awake_lqh的博客 1768

【数据分析】基于多组学数据整合的微生物与宿主互作网络构建及可视化分析

综上所述,本教程通过详细的步骤和方法,展示了如何整合微生物群落数据、宿主基因表达数据和代谢组数据,构建微生物与宿主互作网络,并进行可视化分析。这种方法为研究微生物与宿主之间的复杂关系提供了一种有力的工具,有助于推动相关疾病的研究和治疗。然而,在实际应用中,需要注意数据处理和分析过程中的各种问题,并结合实验验证来提高研究结果的可靠性和科学性。未来,随着多组学技术的不断发展和完善,以及数据分析方法的创新,相信我们能够更深入地理解微生物与宿主之间的互作机制,为疾病的预防、诊断和治疗提供更有力的支持。

专注生信领域 370

【NI Multisim 14.0原理图设计基础——元器件分类】

电阻(RESISTOR):该元器件栏中的电阻都是标称电阻,是根据真实电阻元器件而设计的,其电阻值不能改变。 排阻(RESISTOR PACK):相当于多个电阻并列封装在一个壳内,它们具有相同的阻值。 电位器(POTENTIOMETER):即可调电阻,可以通过键盘字母动态调节电阻,大写表示增加电阻值,小写表示减小电阻值,调节增量可以设置。 电容(CAPACITOR):所有电容都是无极性的,不能改变参数,没有考虑误差,也未考虑耐压大小。 电解电容器(CAP_ELECTROLIT):所有电容都是有极性的,“+”极

RL2698853114的博客 4万+

用Spring Boot maven插件打包成可执行的jar或者war

用Spring Boot maven插件打包成可执行的jar或者war

听海边涛声 2085

【数据湖仓】:Iceberg、Hudi 和 Paimon 对比

适用于需要多计算引擎支持和复杂查询的离线批处理场景。其中立性和灵活性使其成为构建新型数据平台的理想选择。:在需要高频数据更新和高效小文件管理的场景中表现出色,适合实时数据处理和增量数据更新的业务需求。:专为实时流式数据处理设计,适用于对数据实时性要求高的业务场景,如实时数据分析和实时指标监控。通过以上分析,可以看出 Apache Iceberg、Apache Hudi 和 Apache Paimon 各有其独特的优势和适用场景。企业应根据自身业务需求和技术栈选择合适的数据湖仓方案,以充分发挥其价值。

欢迎来到我的博客,一起探索代码里的世界! 1607

springboot项目打包webapp、resources和自定义文件夹

1、打包webapp和resources <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <includ...

学无止境! 7789

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

spring boot 打包_SpringBoot2.0 基础案例(17):自定义启动页,项目打包和运行

本文源码GitHub地址:知了一笑https://github.com/cicadasmile/spring-boot-base一、打包简介springboot的打包方式有很多种。可以打war包,可以打jar包,可以使用jekins进行打包部署的。不推荐用war包,SpringBoot适合前后端分离,打成jar进行部署更加方便快捷。二、自定义启动页banner.txt内容=============...

weixin_39874269的博客 96

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SpringBoot的maven项目自定义打包结构

我们在打包的时候,可以将配置文件、其他静态资源文件、jar包分开,便于我们平时的维护。-- 定义打包后的文件存放位置,一般为项目名 --><build><plugins>-- 开始处理启动模块jar包, --><plugin>--在启动模块的jar中排除以下文件类型,这是为了避免启动模块jar和后续的config目录下存在两份相同资源文件从而导致项目无法重启--><excludes><archive><manifest>-- 执行的主程序路径 -->

记录在工作学习中遇到的一些问题,我与大家共同进步。 936

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SpringBoot项目利用maven自定义打包结构

From: https://blog.youkuaiyun.com/q15858187033/article/details/80742117 SpringBoot官方提供的demo中,pom.xml文件里引用了官方提供的打包插件 <build> <plugin> <groupId>org.springframework.b...

JoeBlackZQQ的专栏 947

SpringBoot实现Maven的assembly自定义结构打包IDEA

先看本文自定义打包实现的结果 bin目录:存放jar项目启动的各种脚本 boot目录:存放jar项目 conf目录:存放Spring项目的配置文件,各个环境的application-xxx.yml文件 jre目录:个人实现jre文件的外置设置,方便在各种环境运行java lib目录:存放该项目依赖的类库文件 和预期的有差别也没事,自定义嘛,了解实现的原理和思路之后,都不是问题,不需要哪些,需要哪些都可以自己配 准备工作: 把需要打包 的文件放入项目目录中(可以自己随意,后面对应的配置文件路径引用对了就行)

未知&谓知的博客 962

springboot自定义SpringBoot Starter[打包去掉BOOT-INF]

自定义SpringBoot Starter参考链接: 实战|如何自定义SpringBoot Starter?SpringBoot使用AutoConfiguration自定义Starter 1.怎么去掉jar目录BOOT-INF文件夹? 项目引入jar后,找不到程序包,找不到指定bean 你会发现打包的jar目录有BOOT-INF文件夹 解决:spring-boot子模块打包去...

张小凡 1733

SpringBoot怎么配置?如何自定义配置?有什么特点?SpringBoot项目打包

SpringBoot spring: IoC:控制反转,降低类和类之间的耦合度 AOP:面向切面编程,在不修改原来代码的前提下增加新的功能 SpringBoot 特点: 1. 开箱即用,简化了 Spring 中的配置,极大的提高开发效率 2. 内置了 web 容器(Tomcat),不需要额外安装 SpringBoot 极大的简化了依赖和配置文件的编写 starter:场景启动器 ...

Meet_again007的博客 285

Springboot 2.0打包与自定义launch.script

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。今天和首架聊到springboot的配置参数问题。他说,这些配置的参数,开发人员拷贝来拷贝去的,很容易出错,...

小姐姐味道 1482

springboot 使用gradle打包自定义包名

springboot中使用gradle打包默认为模块名称 有时候得到的jar名字不想要web.jar 而是bookServer.jar , 这个时候就需要手改, 比较麻烦 解决办法: build.gradle中可以自定义打包好的文件名 ...

一勺菠萝丶的博客 5789

Spring Boot的两种配置文件,自定义配置项,以及打包与运行-----SpringBoot菜鸟小白学习笔记入门图解,详细!!!

五、spring boot支持两种配置文件 属性文件:application.properties YAML格式:application.yml YAML的语法:YAML是一种简洁的非标记语言,YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。 YAML的语法格式:标准格式:key:(空格)value 使用空格代表层级关系,以:结束 我们首先在上篇文章的应用的基础上加上如图的配置文件。上篇文章的传送门 然后我们首先在.properties文件中加入如下内容: se

可及的小屋 528

十六:SpringBoot-自定义启动页,项目打包和指定运行环境

SpringBoot-自定义启动页,项目打包和指定运行环境1、自定义启动页2、打包配置2.1 打包pom配置2.2 多环境配置3、环境测试接口4、打包执行4.1 指定模块打包4.2 运行Jar包 springboot的打包方式有很多种。可以打war包,可以打jar包,可以使用jekins进行打包部署的。不推荐用war包,SpringBoot适合前后端分离,打成jar进行部署更加方便快捷。 1、自定义启动页 banner.txt内容 ======================= No BU

爱是与世界平行 860

target打包没有yml文件_Springboot 2.0打包与自定义launch.script

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。今天和首架聊到springboot的配置参数问题。他说,这些配置的参数,开发人员拷贝来拷贝去的,很容易出错,不如我们屏蔽一下吧。确实,经过工程师的ctrl+c和ctrl+v,大多数重要的参数已经面目全非,完全不是当初的模样。我见过太多这样的案例,所以我表示赞同。为什么复制粘贴也会出问题?有两个原因:因为提供者善变...

weixin_32893479的博客 668

SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境

本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一、打包简介 springboot的打包方式有很多种。可以打war包,可以打jar包,可以使用jekins进行打包部署的。不推荐用war包,SpringBoo...

choujueluo6157的博客 208
下一篇: 使用FreeMarker给word文档里生成柱状图
LWH21
博客等级 码龄7年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值