一、为什么打包
项目开发完毕后会将前后端应用打包,然后部署到服务器上运行。在使用spring boot之前,一般会将java web应用打成war包,再与tomcat结合来完成部署。而对于springboot,官方的建议是将spring boot应用打包成一个fat jar(springboot默认打包方式),即项目的依赖jar包也会被包含在spring boot项目的jar包当中,这个fat jar会把tomcat内置进来,所以部署时也不需要单独配置tomcat。上传jar包即可,无需预装任何服务器,部署springboot应用变得非常简单。
二、如何打包
(1)使用IDEA进行打包
1.打开项目,右击项目选中Open Module Settings进入project Structure,如下图所示:

选中Artifacts,点击中间的加号(Project Settings->Artifacts->JAR->From modules with dependencies ),如下图所示:

2.弹出Create JAR from Modules,选择‘Main Class’,然后点击OK

3.开始打包,点击右侧的Maven Projects,打开LIfecycle,先点击clean,再点击package,生成target文件夹,里面有以项目名命名加版本号的jar文件,至此打包完成。

(2)使用maven进行打包
SpringBoot自带一个更简单的spring-boot-maven-plugin插件可以用来打包,只需要在pom.xml中加入以下配置:
org.springframework.boot spring-boot-maven-plugin
无需任何配置,这个插件会自动定位应用程序的入口Class,执行以下Maven命令即可打包:
$ mvn clean package
三、运行jar包
进入jar所在的文件夹,使用java -jar命令运行jar,项目就能启动
java -jar demoa-0.0.1-SNAPSHOT.jar

四、注意
因为springboot内置了tomcat,所以springboot项目打包成jar可以免去tomcat的配置,如果是打包成war包,则还需要配置tomcat。
打包后在target目录下有两个jar文件,其中有一个jar包后缀为.original,这是Maven标准打包插件打的jar包,它只包含我们自己的Class,不包含依赖,而后缀为.jar的是SpringBoot打包插件创建的包含依赖的jar,可以直接运行。










