
springcloud手动打jar包详解
发布日期:2021-05-20 00:21:19
浏览次数:26
分类:精选文章
本文共 1515 字,大约阅读时间需要 5 分钟。
Spring Cloud项目打包步骤详解
父项目pom.xml文件配置
在父项目的pom.xml中,主要配置了以下内容以支持Spring Boot项目的打包和运行:
org.springframework.boot spring-boot-maven-plugin 2.2.6.RELEASE org.apache.maven.plugins maven-compiler-plugin 3.8.1 8 8 src/main/resources true **/*.*
子项目配置
在子项目中,主要配置了以下内容以指定程序入口和打包目标:
org.springframework.boot spring-boot-maven-plugin com.make.study.MyBoot repackage src/main/resources true
jar包打包问题详解
2.1 为何需指定mainClass
在进行项目打包时,如果存在多个主类(即带有main方法的类)且都使用了@SpringBootApplication注解,或者项目中存在多个主类但未使用该注解,系统将无法确定程序的入口。因此,需要手动指定mainClass,以明确程序的启动类。此外,这也会将指定的主类路径添加到打包后的MANIFEST.MF清单文件中。
主类配置
在pom.xml中设置mainClass标签时,可以选择以下几种布局:
- JAR布局:清单文件中的Main-Class为org.springframework.boot.loader.JarLauncher
- WAR布局:需要依赖Web容器的jar位于WEB-INF/lib-provided
- ZIP布局:清单文件中的Main-Class为org.springframework.boot.loader.PropertiesLauncher
- 模块布局:将所有依赖打包,除Spring Boot提供的
- 无模块布局:将所有依赖打包,包括Spring Boot提供的
2.2 打包目标goal配置
在maven的打包阶段,可配置以下目标goal:
- spring-boot:repackage:默认目标,在mvn package完成后,对生成的jar/war重新打包
- spring-boot:run:执行Spring Boot应用
- spring-boot:start:在集成测试阶段管理Spring Boot应用生命周期
- spring-boot:stop:在集成测试阶段停止Spring Boot应用
- spring-boot:build-info:生成Actuator使用的构建信息文件
打包时的依赖处理
在打包过程中,可通过配置资源过滤标签(filtering)来管理多环境下的资源替换。例如,在pom.xml中设置多个环境配置时,可通过profiles标签实现环境切换,并通过filtering标签替换特定环境标识符。
2.3 打包后的jar包结构
打包完成后的jar包一般包含以下内容:
- 主类.class文件
- 依赖库
- 资源文件(如properties、xml等)
- MANIFEST.MF清单文件
- 启动类路径信息
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月30日 02时31分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
spring
2021-05-20
inno setup 一些技巧
2021-05-20
Qt 在Excel文件中Chart绘图
2021-05-20
TCP 详解
2021-05-20
U3D时间
2021-05-20
U3D资源加载
2021-05-20
01-webpack5理解及配置
2021-05-20
JavaScript作用域和作用域链
2021-05-20
webpack的安装和使用
2021-05-20
centos安装python3.x
2021-05-20
14栈和队列的应用-数制的转换
2021-05-20
Vue.js学习-15-v-for循环数组内容
2021-05-20
研发效能工具集
2021-05-20
2020 祥云杯misc 到点了
2021-05-20
Linux——系统安全及应用(开关机安全机制、系统弱口令检测、NMAP)
2021-05-20
C语言共用体union
2021-05-20