SpringBoot项目打包为JAR文件的实现

 更新时间:2024年09月19日 11:03:40   作者:一枚码仔  
本文主要介绍了SpringBoot项目打包为JAR文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、为什么打包

在项目开发完成后,我们通常会将前后端应用打包,并部署到服务器上进行运行。过去,Java Web 应用在使用 Spring Boot 之前,通常是打包成 WAR 包,并结合 Tomcat 进行部署。然而,对于 Spring Boot,官方推荐将其应用打包成一个 fat jar(即 Spring Boot 默认的打包方式)。这种 fat jar 包含了项目所有的依赖 jar 包,并且将 Tomcat 内置在其中。因此,在部署 Spring Boot 应用时,无需单独配置 Tomcat,也不需要预先安装任何服务器,只需简单地上传 jar 包即可。

这种方式极大地简化了部署过程,让开发者可以更专注于业务逻辑的实现,而不必花费过多的时间在环境配置上。

二、如何打包

方法一:使用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文件,至此打包完成。

在这里插入图片描述

方法二:使用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

在这里插入图片描述

四、注意

  • 因为springboot内置了tomcat,所以springboot项目打包成jar可以免去tomcat的配置,如果是打包成war包,则还需要配置tomcat。

  • 打包后在target目录下有两个jar文件,其中有一个jar包后缀为.original,这是Maven标准打包插件打的jar包,它只包含我们自己的Class,不包含依赖,而后缀为.jar的是SpringBoot打包插件创建的包含依赖的jar,可以直接运行。

到此这篇关于SpringBoot项目打包为JAR文件的实现的文章就介绍到这了,更多相关SpringBoot打包为JAR文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • java环境变量的配置方法图文详解【win10环境为例】

    java环境变量的配置方法图文详解【win10环境为例】

    这篇文章主要介绍了java环境变量的配置方法,结合图文形式详细分析了win10环境下java环境变量的配置方法与相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Java 基础:string中的compareTo方法

    Java 基础:string中的compareTo方法

    这篇文章主要介绍了Java 基础:string中的compareTo方法,文章围绕string中的compareTo方法的相关资料展开文章详细内容,希望对待大家有所帮助
    2021-12-12
  • Java实现根据模板自动生成新的PPT

    Java实现根据模板自动生成新的PPT

    这篇文章主要介绍了如何利用Java代码自动生成PPT,具体就是查询数据库数据,然后根据模板文件(PPT),将数据库数据与模板文件(PPT),进行组合一下,生成新的PPT文件。感兴趣的可以了解一下
    2022-02-02
  • Java9中操作和查询本地进程信息的示例详解

    Java9中操作和查询本地进程信息的示例详解

    这篇文章主要为大家详细介绍了Java9中操作和查询本地进程信息的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • 使用SpringBoot与Thrift实现RPC通信的方式详解

    使用SpringBoot与Thrift实现RPC通信的方式详解

    在微服务架构的世界里,服务间的通信机制选择成为了关键决策之一,RPC因其简洁、高效的特点备受青睐,本文将详细探讨如何利用Spring Boot和Thrift框架构建RPC通信,让读者理解其内在原理及实现方式,需要的朋友可以参考下
    2023-10-10
  • SpringCloud hystrix服务降级概念介绍

    SpringCloud hystrix服务降级概念介绍

    什么是服务降级?当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作
    2022-09-09
  • Spring Boot集成kubernetes客户端实现API操作k8s集群的方案

    Spring Boot集成kubernetes客户端实现API操作k8s集群的方案

    Kubernetes是一个开源的容器编排平台,可以自动化在部署、管理和扩展容器化应用过程中涉及的许多手动操作,这篇文章主要介绍了Spring Boot集成kubernetes客户端实现API操作k8s集群,需要的朋友可以参考下
    2024-08-08
  • Spring Cloud与分布式系统简析

    Spring Cloud与分布式系统简析

    这篇文章主要介绍了Spring Cloud与分布式系统的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • Java HttpClient-Restful工具各种请求高度封装提炼及总结

    Java HttpClient-Restful工具各种请求高度封装提炼及总结

    这篇文章主要介绍了Java HttpClient-Restful工具各种请求高度封装提炼及总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java递归方法求5!的实现代码

    Java递归方法求5!的实现代码

    这篇文章主要介绍了Java递归方法求5!的实现代码,需要的朋友可以参考下
    2017-02-02

最新评论