shell腳本:根據java類名稱定位jar包

腳本名稱: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]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章