Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

一、前言 相信很多同学有这样的需求,现在很多公司都有多地的研发中心,经常需要跨地区部署,比如,博主人在成都,但是服务器是北京的。一般城市间网络都不怎么好,上传一个几十兆的jar包那是真的慢,别说现在微服务架构下,动辄两位数的fat jar。这里说的jar,就是spring boot项目打出来的fat jar类型,一般也有个几十兆吧。 博主之前还遇到部署北美亚马逊环境,好不容易传个包过去,后来发现

一、前言

相信很多同学有这样的需求,现在很多公司都有多地的研发中心,经常需要跨地区部署,比如,博主人在成都,但是服务器是北京的。一般城市间网络都不怎么好,上传一个几十兆的jar包那是真的慢,别说现在微服务架构下,动辄两位数的fat jar。这里说的jar,就是spring boot项目打出来的fat jar类型,一般也有个几十兆吧。

博主之前还遇到部署北美亚马逊环境,好不容易传个包过去,后来发现有bug,需要改class,如果重新打包再传,真的要死的心都有了。

如果要改什么配置,或者发现某个class文件有bug,那怎么办呢?不要急,今天就是教你怎么解决这种简单问题。

 

二、修改配置文件

这个非常简单,只要使用vim即可,真正的屠龙工具。

比如当前目录下有个spring boot 的jar包,我们可以按如下步骤:

曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦

 

如上图所示,我们直接vim xxx.jar包后,可以通过 /关键字 来查找文件,查找到以后,通过方向键进行控制,enter 进入文件修改文件、保存等操作和vim的操作一样。

 

三、修改jar包中的class

1、方式1,jar命令替换

如果只是简单地替换文件,可以直接使用 以下命令:

jar uvf pas-server.jar com/ceiec/pas/server/service/imPL/IncidentserviceImpl

 

我是不推荐该命令的,因为很麻烦,要自己去新建一级一级的目录,而且一般class文件的包名都是以 . 来分隔的,还要手动修改文件分隔符。其次,如果输错了路径,再想删掉这个class就麻烦了。

 

2、方式2,解压后再压缩的方式(极力推荐)

细分为以下几个步骤:

1、拷贝jar包一个zip文件

 

cp pas-server.jar pas-server.zip

曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦

 

2、解压zip到指定文件

 

unzip pas-server.zip -d pas-server-unzip/

 

3、进入解压后的文件夹,修改文件

解压后的spring boot包的结构如下,class自行修改即可(在BOOT-INF下面),我一般rz上传后,直接覆盖:

曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦

 

4、重新打为spring boot 的fat包

jar -cvfM0 pas-server.jar BOOT-INF/ Meta-INF/ org/

 结果如下:

曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦

 

可以看到,在pas-server.jar后,我们指定了多个目录,这几个目录即是spring boot 的那几个目录。

 

上述 jar 命令中相关的参数如下:

曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦

 

四、普通非spring boot工程如何打包为fat jar

博主前几天随便记录的,和这个主题有点关系,比较适用于netty工程:

普通的maven项目,如何打成一个fat jar(包括了全部依赖jar包)?

 

 

五、总结

今天这篇个人感觉不算丰满,但感觉没太多好写的,不像理论知识那些。不过这个还是蛮重要的,能解决开发中的实际问题,提升大家的效率吧。

大佬总结

以上是大佬教程为你收集整理的曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦全部内容,希望文章能够帮你解决曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。