我的系统中有很多jar文件,与我的应用程序有关。
如何在大量的jar文件中找到特定的类?
谢谢
答案 0 :(得分:32)
如果这些jar文件位于Eclipse项目的构建路径中:
Ctrl-Shift-T(对于“Open Type”,“type”中的“type”)会弹出一个搜索框。你可以使用CamelType(即SB而不是StringBuilder)。
答案 1 :(得分:2)
您应该能够右键单击源文件中的类名,然后选择 Declarations 上下文菜单项的子项之一 - 即右键单击类名称和选择声明 / 项目。这将在项目中搜索该类的任何声明,并弹出标准的Eclipse搜索结果视图。我假设您在Eclipse项目中将jar作为库。
如果要在文件系统上执行此操作,请使用for循环迭代JAR文件并使用jar tf FILENAME
获取类文件列表并通过grep
或findstr
(取决于您的平台)。如果您使用的是bash
,那么以下内容就可以解决问题:
bash-3.2$ for f in *.jar
do
result=$(jar tf $f | grep '/DBObject.class$')
[ -n "$result" ] && echo "$f contains $result"
done
mongodb-api-2.6.3.jar contains com/mongodb/DBObject.class
bash-3.2$
您可以在命令提示符下使用FOR
循环在Windows中编写类似内容,但我不记得FINDSTR
是否正确设置了结果ERRORLEVEL
。以下应该不能完全确定语法:
C:\Directory\Containing\Jars> FOR %I IN (*.jar) DO @(
FOR /F %J IN ('jar tf %I') DO ECHO "%J: %I"
) | FINDSTR /R /C:"/DBObject.class$"
mongodb-api-2.6.3.jar: com/mongodb/DBObject.class
C:\Directory\Containing\Jars>
如果我记得,我会在进入Windows机器后编辑它。