SpringBoot项目打包成jar

  • 一、为什么打包
  • 二、如何打包
  • (1)使用IDEA进行打包
  • (2)使用maven进行打包
  • 三、运行jar包
  • 四、注意



一、为什么打包

项目开发完毕后会将前后端应用打包,然后部署到服务器上运行。Java Web应用在Spring Boot之前,通常是打包成war包,结合Tomcat来完成部署。而对于SpringBoot,官方的建议是将Spring Boot应用打包成一个fat jar(SpringBoot默认打包方式),即项目的依赖jar包也会被包含在Spring Boot项目的jar包当中,这个fat jar会把Tomcat内置进来,所以部署时也不需要单独配置Tomcat。这样部署一个SpringBoot应用就非常简单,无需预装任何服务器,只需要上传jar包即可。


二、如何打包

(1)使用IDEA进行打包

1.打开项目,右击项目选中Open Module Settings进入project Structure,如下图所示:

spring boot怎么打war包 spring boot如何打包_spring boot怎么打war包


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

spring boot怎么打war包 spring boot如何打包_intellij-idea_02

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

spring boot怎么打war包 spring boot如何打包_jar_03

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

spring boot怎么打war包 spring boot如何打包_jar包_04


(2)使用maven进行打包

SpringBoot自带一个更简单的spring-boot-maven-plugin插件可以用来打包,只需要在pom.xml中加入以下配置:

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

无需任何配置,这个插件会自动定位应用程序的入口Class,执行以下Maven命令即可打包:

$ mvn clean package

三、运行jar包

进入jar所在的文件夹,使用java -jar命令运行jar,项目就能启动

java -jar demoa-0.0.1-SNAPSHOT.jar

spring boot怎么打war包 spring boot如何打包_spring boot怎么打war包_05


四、注意

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

感谢大家的耐心阅读,如有建议请私信或评论留言