场景:
项目中经常遇到使用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成功