首页 > 基础资料 博客日记
SpringBoot 使用 Maven 打包
2023-10-26 16:37:07基础资料围观512次
文章SpringBoot 使用 Maven 打包分享给大家,欢迎收藏Java资料网,专注分享技术知识
1. maven打包方式
maven打包有三种方式 pom、jar、war。在pom.xml 文件中声明的方式分别如下:
<!-- 1. pom方式 -->
<packaging>pom</packaging>`
<!-- 2. jar方式 -->
<packaging>jar</packaging>
<!-- 3. war方式 -->
<packaging>war</packaging>
以上三种打包方式不同出现在同一个 pom 文件中。
pom:用在父级工程或聚合工程中,必须指明打包方式为pom。子module可继承父工程依赖。
jar:工程的默认打包方式。
war:将会打包成war。
2. maven打包插件
<!-- 1. maven 默认打包插件,用来创建 project jar -->
maven-jar-plugin
<!-- 2. 用来打可执行包 -->
maven-shade-plugin
<!-- 3. 支持定制化打包方式,例如 apache 项目的打包方式 -->
maven-assembly-plugin
<!-- 4. springboot打包插件 -->
spring-boot-maven-plugin
3. SpringBoot 打包
Spring Boot 中默认打包成可执行 jar ,可以通过 java -jar xxx.jar 命令执行但是不可以被其他的应用所依赖。普通的 jar 不可以通过 java -jar xxx.jar 命令执行,普通的 jar 主要是被其他应用或模块依赖。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如上springboot引导程序生成的pom.xml文件中默认的maven插件,其打包的Jar包可以直接运行,但是不可依赖!
如果子模块被打包成可运行 jar 包则 SpringBoot 项目编译运行时提示“程序包xxx不存在,找不到符号”错误。我们可以通过<classifier>exec</classifier>
标签在打包的时候生成普通jar包和可执行jar包,修改如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
或者通过<skip>true</skip>
标签在打包的时候生成普通jar包,修改如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
文章来源:https://www.cnblogs.com/jddreams/p/17789688.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:为啥外行都觉得程序员的代码不值钱?
下一篇:初识Java
相关文章
最新发布
- SpringBoot--如何整体读取多个配置属性及其相关操作
- 个人网站一键引入免费开关评论功能 giscus
- Java开发笔记(一百五十五)生成随机数的几种途径
- 榨干 Claude Code 的 16 个实用小技巧(高端玩法,建议收藏!)
- NBA巨星詹姆斯表变老嫂子了?这锅Viggle Ai得背/Ai视频创作/Ai魔性视频创作/Ai优质视频创作
- Java简历、面试、试用期、转正
- 使用Apollo配置中心,**静态字段通过`@Value`的setter方法可以实现热更新**
- vivo Pulsar 万亿级消息处理实践(3)-KoP指标异常修复
- MybatisPlus使用详情
- G1收集器:JVM垃圾回收的新一代王者