如何利用jar命令把前端代码打进jar包

news2024/12/23 12:45:59

目录

  • 背景介绍
  • 简单介绍几个常用的jar命令参数
    • 查询一个文件在jar包中的位置
    • 将文件解压到当前目录
    • 把一个目录打包进jar
    • 把一个文件打包进jar
  • 更新jar的shell脚本update.sh
  • 命令执行过程部分截图

背景介绍

前后端分离是目前主流的开发模式,部署的时候也是利用类似nginx实现前后端分离部署,前端代码由nginx直接托管,后端请求通过nginx转发到后端微服务。但在实施部署的时候,不同的客户会有不同的诉求,有些人觉得全部放在一个jar包里面部署的时候简单方便。那么问题就来了,前端是个独立的工程,每次编译后都需要放到后端工程的static目录中,然后后端再进去编译、打包,每次这样操作,比较浪费时间,那么接下来我们要讲的就是通过jdk中的jar命令实现把前端代码打进jar包,前后端开发人员依然继续专注各自的领域和职责,最终在启动脚本中利用jar命令把最新的前端代码更新到jar中即可

简单介绍几个常用的jar命令参数

查询一个文件在jar包中的位置

jar tvf test.jar | grep index.html

将文件解压到当前目录

jar xvf test.jar BOOT-INF/classes/static

可以指定解压jar包中的某一个文件或文件夹

把一个目录打包进jar

jar uvf test.jar BOOT-INF/classes/static

目录的结构必须与jar包的层次结构完全一致

把一个文件打包进jar

jar uvf test.jar BOOT-INF/classes/static/index.html

更新jar的shell脚本update.sh

#!/bin/sh
JAR_NAME=test.jar
# 前端页面位置
DIST_PATH=dist
# 需要更新的jar里面的目录
JAR_UPDATE_DIR=BOOT-INF/classes/static

# 创建目录
mkdir -p $JAR_UPDATE_DIR
# 复制最新前端页面
cp -rf $DIST_PATH/* $JAR_UPDATE_DIR
# 把前端页面更新到jar中
jar uvf $JAR_NAME $JAR_UPDATE_DIR

可以把这段脚本加到启动命令之前,每次启动的时候都会把最新的前端代码更新到jar包中去

命令执行过程部分截图

在执行jar uvf命令时,会输出如下内容
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++之多态

文章目录一、多态的理解二、多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写/覆盖4. C11 的 override 和 final5.重载、重写/覆盖、隐藏/重定义三、抽象类四、多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定五、单继承和多继承关系的虚函数表1.单继承中的虚函…

【Git】IDEA 集成 Git

7、IDEA 集成 Git 7.1、配置 Git 忽略文件 1、Eclipse 特定文件 2、IDEA 特定文件 3、Maven 工程的 target 目录 问题 1:为什么要忽略他们? 答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 …

联合变换相关器摄远物镜光学设计

联合变换相关器摄远物镜光学设计 联合变换相关器工作原理 随着科学技术的飞速发展,光学相关探测器件由最初的匹配滤波器发展到今天的联合变换相关器,联合变换相关器与范得耳-卢格特相关器相比,具有灵活性好、识别精度高等特点,所…

Media基础知识一

1.视频文件是什么? FLV, MKV, MP4是不同的视频后缀名,不同的视频格式就像一个容器。容器里封装的是音视频流。 FFmpeg:一款开源软件,用来处理音视频,对音视频进行编解码。要在Android中使用FFmpeg,需要下载…

vue-element-admin 换肤功能,登录后不同权限不同皮肤,刷新不会失效

一、拉vue-element-admin的代码跑起来 安装依赖时会遇到一些问题,tui-editor装不上,需要按照以下步骤删除它 1、vue-element-admin\package.json 删除‘tui-editor’:‘1.3.3’依赖项。 2、vue-element-admin\src\components 删除MarkdownE…

C++ 三种智能指针及其设计实现unique_ptr、 share_ptr 指针

0、差不多春节啦。。。。。 好久没有写博客,写一写吧。。。。。。 祝大家嗨皮,提前恭喜发财 1、三种智能指针的使用方法 C 有3种指针:share_ptr, unique_ptr, weak_ptr 1.1)unique_ptr 指针 std::unique_ptr 是一种独占的智能指…

Sklearn标准化和归一化方法汇总(1):标准化 / 标准差归一化 / Z-Score归一化

Sklearn中与特征缩放有关的五个函数和类,全部位于sklearn.preprocessing包内。作为一个系列文章,我们将逐一讲解Sklearn中提供的标准化和归一化方法,以下是本系列已发布的文章列表: Sklearn标准化和归一化方法汇总(1)&#xff1a…

ESP32 (WIFI)-AP、STA模式(13)

提示:本博客作为学习笔记,有错误的地方希望指正 文章目录一、ESP32 WIFI模式概述二、ESP32 WIFI-AP初始化流程三、WIFI-AP示例四、ESP32 WIFI-STA初始化流程五、WIFI-STA示例一、ESP32 WIFI模式概述 参考资料:ESP IDF编程手册V4.4   WIFI主…

【GD32F427开发板试用】Systick系统定时器的使用

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:HonestQiao 基于Arm Cortex-M系列内核的MCU,都包含了SysTick定时器。 所谓SysTick即为系统定时器,又称嘀嗒定时器&am…

Docker Swarm

Swarm 是什么? Docker Swarm 是Docker官方的跨节点的容器编排工具。用户只需要在单一的管理节点上操作,即可管理集群下的所有节点和容器。 主要解决什么问题 1. 解决docker server的集群化管理和部署。 2. Swarm通过对Docker宿主机上添加的标签信息来…

分享60个PHP源码,总有一款适合您

PHP源码 分享60个PHP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 60个PHP源码下载链接:https://pan.baidu.com/s/1SvjbzolwuMrQyhVb_byG5Q?pwdx831 提取码&#xff…

生物素点击标记试剂:DBCO-SS-PEG3-biotin,1430408-09-5,生物素PEG3二硫键DBCO

1、理论分析:中文名:生物素-三聚乙二醇-二硫-二苯并环辛炔,生物素-PEG3-二硫-DBCO ,生物素PEG3-二硫二苯并环辛炔英文名:DBCO-S-S-PEG3-biotin,Biotin-PEG3-SS-DBCOCAS号:1430408-09-5化学式&am…

如何使用ArcGIS进行点抽稀

01 概述对于制图工作者而言,遇到大量的点要素(POI、村名等)标注的时候往往非常的麻烦,因为这些点往往都是十分的密集,直接标注很影响制图的美观。如果直接去处理原始的数据,会导致后续的数据更新维护麻烦&a…

pdf合并在线,大家都在用的工具

工作和生活当中都有很多场景需要我们提交PDF文档,而且有时候要求仅能提交一份,如果这时候刚好你的文档分成了几份,就得先合并之后才能提交。要在线合并PDF并不麻烦,关键是用对工具。下面就来给大家介绍几款热门的软件,…

Spring Boot(五十五):基于redis防止接口恶意刷新和暴力请求

下面的教程,通过intercept和redis针对urlip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来达到自己的目的 下面只讲解大致步骤,不详细讲解,需要完整代码的可以自行下载。 https://download.c…

数据结构之查找详解

一、什么是查找表? 1.1 定义 查找表是由同一类型的数据元素构成的集合。例如电话号码簿和字典都可以看作是一张查找表。 1.2 查找表的几种操作: 1)在查找表中查找某个具体的数据元素; 2)在查找表中插入数据元素&am…

win10环境使用nvm安装多版本nodejs并配置环境变量

win10环境使用nvm安装多版本nodejs并配置环境变量nvm安装环境变量配置测试安装全局模块对于旧版本的node,手动安装npm最近使用node工程,需要多版本,并且进行切换,来回安装卸载不同版本的node比较麻烦,后面自己就简单捯…

MySQL 5.5版本的两个执行引擎

目录执行引擎引入MySQL执行引擎生成的文件MyIsamInnoDB聚簇索引与非聚簇索引稀疏索引回表覆盖索引执行引擎引入 我们真正的索引结构要去落地的时候呢,也就是MySQL底层BTree数据结构要去落地的话,那么一定要和我们的存储引擎相结合。接下来我们会说MySQL…

【游戏逆向】老飞飞怀恋魅力爱玩等老飞飞瞬移分析代码

【游戏逆向】老飞飞怀恋魅力爱玩等老飞飞瞬移分析代码 在游戏中,每个人物都有一个坐标。x坐标和y坐标。老飞飞也一样,可能有些朋友用ce找到当前的人物坐标。然后修改坐标就能达到瞬移到效果。不过有些老飞飞是无法实现的。只要瞬移就会掉客户端。今天就…

3>2,看看U.3升级了啥

关注企业级NVMe SSD的小伙伴对U.2接口一定不会感到陌生。然而,在U.2之外,还存在一种名为“U.3”的硬盘接口,二者外观完全相同,接口性能也都一样,甚至不少客户直接将U.3的NVMe SSD部署在U.2服务器上使用。但既然3&#…