话不多说,直接上命令:
# 1.检索文件
jar -tvf Test-0.0.1-SNAPSHOT.jar | grep Test.class
# 2.取出文件
jar -xvf Test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/test/Test.class
#3.替换文件
mv Test.class BOOT-INF/classes/com/test/Test.class
#4.打入jar包
jar -uvf Test-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/test/Test.class
#5.删除冗余文件
rm -r BOOT-INF
脚本文件:
updateClass.sh
#!/bin/bash
# 动态部署class脚本
className=`ls|grep .class$`
jarName=`ls|grep .jar$`
if [ -z $className ]
then
echo "No class file found."
exit 1
fi
if [ -z $jarName ]
then
echo "No jar file found."
exit 1
fi
echo "The $className is replacing..."
fullPath=`jar -tvf $jarName | grep $className | awk '{print $NF}'`
jar -xvf $jarName $fullPath
mv $className $fullPath
jar -uvf $jarName $fullPath
rm -r BOOT-INF