繁体   English   中英

如何在一堆罐子里面找到类名

[英]How to find class name inside a bunch of jars

我的系统中有很多jar文件,与我的应用程序有关。

我怎样才能在那么多jar文件中找到特定的类?

谢谢

如果这些jar文件位于Eclipse项目的构建路径中:

Ctrl-Shift-T(对于“Open Type”,“type”中的“type”)会弹出一个搜索框。 你可以CamelType(即SB而不是StringBuilder)。

您应该能够右键单击源文件中的类名,并选择声明上下文菜单项的子项之一 - 即,右键单击类名并选择声明 / 项目 这将在项目中搜索该类的任何声明,并弹出标准的Eclipse搜索结果视图。 我假设您在Eclipse项目中将jar作为库。

如果你想在文件系统上执行此操作,那么使用for循环迭代JAR文件并使用jar tf FILENAME获取类文件列表并通过grepfindstr管道(取决于您的平台)。 如果你正在使用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机器后编辑它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM