腳本名稱:whichJar.sh
腳本用法:sh whichJar.sh jar目錄 java類名,可帶包名 [jar包名稱]
腳本內容:(如下)
dir=$1
class=$2
name=$3
if [ "$class" = "" -o "$dir" = "" ];then
echo param error.
exit -1;
fi
if [ ! -d $dir ];then
echo directory:$dir, not exists!
exit -1;
fi
if [ "$name" = "" ];then
name="jar";
fi
find $dir -name "*${name}*" > tmpjars.txt
while read line
do
finded=`jar -tvf $line|awk '{gsub("/",".");print $0}'|grep $class`;
if [ "$finded" != "" ];then
echo [$line] found [$class]
fi
done < tmpjars.txt
rm tmpjars.txt
腳本示例:(lib目錄下有很多jar包,從中尋找含有StringUtil的jar包)
sh whichJar.sh ./lib/ StringUtil *.jar
[./lib/mysql-connector-java-5.1.22-bin.jar] found [StringUtil]
[./lib/org.springframework.core-3.0.5.RELEASE.jar] found [StringUtil]
[./lib/commons-lang-2.4.jar] found [StringUtil]