首页 > 其他分享 >轻便的springboot打包方式

轻便的springboot打包方式

时间:2024-05-26 16:55:32浏览次数:22  
标签:springboot 轻便 boot jar 文件夹 test 服务器 打包

传统打包方式,把项目依赖的jar包一起打包到最终的jar里面,
如果更新频繁,每次上传到云服务器需要很久,如果可以确定在 项目依赖不会再变更 的情况下
可以将项目依赖jar包抽离出来,这样后续维护会很方便

传统打包的pom配置如下

    <build>
        <!--传统打包配置-->
        <finalName>test</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.0.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>

            <!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。-->
            <resource>
                <!--   描述存放资源的目录,该路径相对POM路径-->
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

打包后解压jar文件,将 BOOT-INF 文件夹下的 lib 文件夹抽离出来,打成zip包

替换pom文件打包配置如下

    <build>
        <!--传统打包配置-->
        <finalName>test</finalName> <!-- 打出来的jar包名称 -->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.0.RELEASE</version>

                <configuration>
                    <mainClass>com.test.Main</mainClass>  <!-- 启动类 -->
                    <layout>ZIP</layout>
                    <!-- 依赖的jar包不打包进最终的jar -->
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>

                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

    </build>

重新打包后的jar文件很小,一般是几百K

将第一步打好的zip包传到云服务器解压,比如 /www/wwwroot/test.com 目录下的某个文件夹,比如 lib 文件夹
将打好的不包含依赖包的jar传到云服务器相同目录
编辑启动脚本

nohup java -Dloader.path=./lib  -jar test.jar & tail -f nohup.out

可以正常运行,以后再修改功能再打包上传云服务器就非常快,只有几百K,秒传

标签:springboot,轻便,boot,jar,文件夹,test,服务器,打包
From: https://www.cnblogs.com/lybaobei/p/18213934

相关文章

  • SpringBoot+Vue+uniapp微信小程序仓储进销存管理系统
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍随着科学研究的不断深入,有关仓储的各种信息量不断成倍增长。面对庞大的信息量,就需要有仓储管理系统来提高管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询......
  • Java项目:校园周边美食探索(java+SpringBoot+Mybaits+Vue+elementui+mysql)
    源码获取:俺的博客首页"资源"里下载! 项目介绍基于Springboot+vue实现的校园周边美食探索及分享平台本系统包含管理员、用户两个角色。管理员:用户管理、美食鉴赏管理、好友管理、收藏管理、系统管理用户:登录、注册、个人中心管理、美食鉴赏管理、好友管理、收藏管理......
  • 基于SpringBoot+Vue的在线商城系统
    !!!有需要的小伙伴可以通过文章末尾名片咨询我哦!!! ......
  • 宠物服务系统 毕业设计 Springboot+Vue+Mysql+Java
    作者主页:毕业设计精选作者简介:9年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家摘要随着人类生存质量的提升以及生活模式的改变,越来越多的人在闲暇之余饲养宠物,来满足精神上的需求 。从而 使得宠物服务行业也得到了繁荣发展 ......
  • (免费领源码)Java/Mysql数据库+53233基于SpringBoot的社区疫情防控系统,计算机毕业设计项
    springboot社区疫情防控管理系统摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对社区疫情防控管理系统等问题,对社区疫情防控管理系统进行研......
  • 【精品毕设推荐】基于Springboot的智能物流管理系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了智能物流管理系统的开发全过程。通过分析智能物流管理系统管理的不足,创建了一个计算机管理智能物流管理系统的方案。文章介绍了智能......
  • 自定义一个SpringBoot场景启动器
    前言一个刚刚看完SpringBoot自动装配原理的萌新依据自己的理解写下的文章,如有大神发现错误,敬请斧正,不胜感激。分析SpringBoot自动配置原理SpringBoot的启动从被@SpringBootApplication修饰的启动类开始,@SpringBootApplicaiotn注解中最重要的注解是@EnableAutoConfigurat......
  • 【SpringBoot】服务对注册中心的注册时机
    1 前言我们看过很多的时机,比如服务数据源的关闭时机、服务正式开始处理请求的时机或者Tomcat和SpringBoot的协同、还有mybatis等一些插件的入场时机等,这节我们要再看一个时机,就是关于跟注册中心(Eureka、Nacos)的时机,比如你有没有思考过:我服务还没起来,你就到注册中心上线了,那......
  • springboot3.0+shardingsphere5.2 最简单的分库分表
    先看表结构两个数据库test1,test2每个库有4张sys_user表分别命名sys_user_0-4maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>......
  • 【Python进阶】轻松上手,6种打包Python代码的方法,让你的程序变成exe应用!
    Python是一种高级编程语言,它具有易学易用、跨平台等优点,因此在开发中得到了广泛的应用。然而,Python代码需要在Python解释器中运行,这对于一些用户来说可能不太方便。因此,将Python代码打包成可执行文件(exe)是一种很好的解决方案。本文将介绍6种将Python代码打包成exe应用的方......