#!/bin/sh
echo "功能:替换jar包中的指定文件"
echo "\$1要替换的jar包名"
echo "\$2要替换的jar包内的文件名"
jar=$1
class=$2
if [[ -z "$jar" || -z "$class" ]]
then
echo "请输入jar包名和要替换的文件名"
exit 8
fi
if [[ ! -f "$jar" || ! -f "$class" ]]
then
echo "jar包或者要替换的文件名不在当前目录"
exit 8
fi
tarDir=($(jar -tvf $jar | grep $class))
echo ${tarDir[7]}
read -p "上面路径是否是要替换的文件:y or n " flag
if [ ${flag} == "n" ]
then
echo "未找到指定,请手动更新"
exit 8
fi
#解压到指定文件
jar -xvf $jar ${tarDir[7]}
#新的class文件覆盖指定文件
cp $class ${tarDir[7]}
#覆盖后的文件替换jar中的文件
jar -uvf $jar ${tarDir[7]}
06-05
2476
07-07
4252
06-18
1360