当前位置: 首页 > 工具软件 > findjar > 使用案例 >

java实用工具 根据指定的类名查找jar包

满俊楠
2023-12-01

日常调试开发Java应用程序时经常会遇到一个问题:
依赖库缺失或多了多余的依赖,或者版本不对的错误。

如何快速定位这种问题呢? 这个需要一个有力的工具来解决这个问题。
findjar 可以根据类名,在指定目录中搜索是否存在指定的jar文件,
然后返回包含指定类名的jar文件全路径,非常好用。

touch findjar
chmod +x findjar

#!/usr/bin/env bash
if [[ ($# -ne 1) && ($# -ne 2) ]]
then
    echo "用法  $0  Java类名称  目录路径 [ 目录路径 如果没有输入就使用当前目录]"
    echo "findjar com.google.common.base.Preconditions  /tmp/"
else
    THING_TO_LOOKFOR="$1"
    DIR=${2:-.}
    if [ ! -d $DIR ]; then
        echo "directory [$DIR] does not exist";
        exit 1;
    fi
    find "$DIR" -iname \*.jar | while read f ; do (jar tf $f | awk '{print "'"$f"'" "  " $0}' | grep -i "$THING_TO_LOOKFOR") ; done
fi
```
应用举例:
./findjar com.google.common.base.Preconditions  `pwd`

![在这里插入图片描述](https://img-blog.csdnimg.cn/ea30544b7cf041558bd465bd311b0827.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5byA5b-D6Ieq55Sx5aSp5L2_,size_20,color_FFFFFF,t_70,g_se,x_16)


 类似资料: