场景:
项目中经常遇到使用WinR软件替换jar包中的文件,有时候存在WinRAR解压替换时提示没有权限,此时winRAR不能用还有有什么方法替换jar包中的文件。
方法:
使用jar命令进行修改替换
问题:
执行jar命令报错'jar' 不是内部或外部命令,也不是可运行的程序

环境配置
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_151

PATH中添加 .;%JAVA_HOME%\bin;

验证:
验证一:cmd 在命令行执行jar命令

验证二:cmd 在命令行执行java命令

jar命令
解压jar包
方式一:jar -xf gisquest-crypto-core-1.0.1.jar
含义:-xf 表示从jar包中提取所有文件(即解压)
方式二:jar -xvf gisquest-crypto-core-1.0.1.jar
含义:-xvf 表示从jar包中提取所有文件并显示解压过程(即解压)

替换jar包中的文件
jar包中config.properties修改前如下:

先config.properties 改成default.cryptoType=sm放到jar包中
jar -uvf0 gisquest-crypto-core-1.0.1.jar config.properties
含义:更新并存储config.properties文件
其中:u表示更新
f 表示:指定的文件
0表示:存储

替换指定文件夹下class文件
将AllModulesAspect.class文件放入jar包com\gisquest\cloud\crypto\conf\文件夹下

执行: jar -uvf0 gisquest-crypto-core-1.0.1.jar com\gisquest\cloud\crypto\conf\

注意:
需要现将AllModulesAspect.class文件放入到gisquest-crypto-core-1.0.1.jar加压后的com\gisquest\cloud\crypto\conf\下然后在执行:
OK成功
