是否有命令行工具可以破解打开JAR文件并在其中找到特定的.class文件?有些东西可以让我走一个目录树来搜索哪个Jar有一个特定的类... ...
find . -name *jar -exec jaregrep -l "org.bob.PriceListViewUpdate" {} \;
REST/prices.jar
v2/REST/prices.jar
这样的东西必须存在。我从哪里得到它?
答案 0 :(得分:6)
如果你知道jar是什么目录,你可以在linux中使用grep
。从可疑jar文件上方的目录中运行此命令。它会告诉你哪个jar文件(或文件)有它。当我在JBoss使用的罐子里找东西的时候,我一直这样做。
grep -rail --include=*.jar org.bob.PriceListViewUpdate
答案 1 :(得分:1)
JWhich提供命令行工具来查找包含您要搜索的资源的jar文件。
答案 2 :(得分:1)
我用这个:
#!/bin/sh
find $1 -name *jar | while read JARFILE
do
COUNT=$(unzip -qq -l "$JARFILE" "$2" | wc -l)
if [ $COUNT -gt 0 ] ; then
echo "$JARFILE: $COUNT matches"
fi
done
即:
./findclass.sh workspace-indigo/ org/objectweb/*
您可以使用globs作为包名称,但您必须使用斜杠而不是fullstops指定包名称作为反向提取。
答案 3 :(得分:0)