SpringBoot 使用 Maven 打包方式
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>到此这篇关于SpringBoot 使用 Maven 打包的文章就介绍到这了,更多相关SpringBoot 使用 Maven 打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
这篇文章主要为大家详细介绍了如何利用Java语言实现超大Excel文件解析(XSSF,SXSSF,easyExcel)以及速度的对比,感兴趣的可以了解一下2022-07-07
springboot druid数据库连接池连接失败后一直重连的解决方法
本文主要介绍了springboot druid数据库连接池连接失败后一直重连的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
Java利用iTextPDF库实现制作PDF表格模板并填充数据
这篇文章主要为大家详细介绍了如何通过Java的iTextPDF库制作一个PDF表格模板并填充数据,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下吧2023-12-12
注意Java中 new BigDecimal(double val) 的使用
这篇文章主要介绍了注意Java中 new BigDecimal(double val) 的使用,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下2022-07-07


最新评论