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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

    在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

    在Spring Boot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制,另一种是借助中间件自动路由,本文介绍了几种主流的实现方案,需要的朋友可以参考下
    2025-11-11
  • java图片缩放实现图片填充整个屏幕

    java图片缩放实现图片填充整个屏幕

    这篇文章主要介绍了java图片缩放实现图片填充整个屏幕,本文提供了两种解决方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 自动配置@EnableAutoConfiguration问题

    自动配置@EnableAutoConfiguration问题

    这篇文章主要介绍了自动配置@EnableAutoConfiguration问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java接口的作用以及使用说明

    Java接口的作用以及使用说明

    接口是一种规范,定义了一组方法的原型,但没有实现,类通过实现接口来实现接口中的抽象方法,接口可以提供规范性、扩展性和可插入性,在Java中,接口可以用来声明一个变量,实现接口的类必须实现接口中定义的所有方法,接口提供了一种机制
    2024-11-11
  • springboot2.6.7集成springfox3.0.0的示例代码

    springboot2.6.7集成springfox3.0.0的示例代码

    这篇文章主要介绍了springboot2.6.7集成springfox3.0.0的示例代码,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • Java中Map转List及List转Map的方法(简单好用!)

    Java中Map转List及List转Map的方法(简单好用!)

    这篇文章主要给大家介绍了关于Java中Map转List及List转Map的相关资料,可以使用Java 8的Stream API将Java Map转换为List,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • SpringBoot中AOP的多种用途与实践指南

    SpringBoot中AOP的多种用途与实践指南

    Spring Boot结合AOP提供了强大的功能,可以用于日志记录、性能监控、异常处理、权限校验等多种场景,通过AOP,我们可以将横切关注点从业务逻辑中分离出来,从而提高代码的可维护性和可读性,下面就来一起了解一下
    2026-03-03
  • mybatis plus 自动转驼峰配置小结

    mybatis plus 自动转驼峰配置小结

    SpringBoot提供两种配置Mybatis的方式,第一种是通过yml或application.properties文件开启配置,第二种是使用自定义配置类,通过给容器添加一个ConfigurationCustomizer来实现更灵活的配置,这两种方法可以根据项目需求和个人喜好选择使用
    2024-10-10
  • 给新来的同事讲where 1=1是什么意思

    给新来的同事讲where 1=1是什么意思

    当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但这究竟有什么意思呢?所以下面这篇文章主要给大家介绍了关于where 1=1是什么意思,需要的朋友可以参考下
    2021-12-12
  • Spring AOP与AspectJ的对比及应用详解

    Spring AOP与AspectJ的对比及应用详解

    这篇文章主要为大家介绍了Spring AOP与AspectJ的对比及应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02

最新评论