Tôi thích JFind rất nhiều:
http://jfind.sourceforge.net/
... nó hoạt động một cách đệ quy bằng cách nhìn vào jar của, bên trong chiến tranh, tai bên trong của, vv ...
Nếu bạn quấn java launcher trong một kịch bản shell và đặt nó trên PATH của bạn, nó sẽ trở thành một công cụ rất mạnh mẽ:
Tức là để tìm tất cả EntityManager
lớp trong thư mục jboss-6.0.0.20100429-M3
:
$ jfind.sh EntityManager ./jboss-6.0.0.20100429-M3
Search String: EntityManager
Windows Search Location: jboss-6.0.0.20100429-M3
....jjj.jjjjjjjjjjj
ClassName = javax/persistence/EntityManager.class
JarName = jboss-6.0.0.20100429-M3\client\hibernate-jpa-2.0-api.jar
----------------
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
ClassName = org/apache/xerces/impl/XMLEntityManager.class
JarName = jboss-6.0.0.20100429-M3\client\xercesImpl.jar
----------------
Một vỏ bọc nhỏ để sử dụng trong Cygwin:
if [ $# -ne 2 ]
then
echo "Usage: `basename $0` <classname> [<fromDir>]"
exit 1
fi
echo Search String: $1
SEARCH_LOCATION=`cygpath -w $2`
echo Windows Search Location: $SEARCH_LOCATION
java -jar `cygpath -w $HOME/bin/JFind.jar` "$1" "$SEARCH_LOCATION"
echo