Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse 如何在一堆jar中找到类名_Eclipse - Fatal编程技术网

Eclipse 如何在一堆jar中找到类名

Eclipse 如何在一堆jar中找到类名,eclipse,Eclipse,我的系统中有大量与我的应用程序相关的jar文件 我怎样才能在这么多jar文件中找到一个特定的类呢 如果这些jar文件位于Eclipse项目的构建路径中,请向您表示感谢: Ctrl-Shift-T(对于“打开类型”,“类型”与“类”中的相同)会显示一个搜索框。您可以键入(即SB而不是StringBuilder)。您应该能够右键单击源文件中的类名并选择声明上下文菜单项的子项之一,即右键单击类名并选择声明/项目。这将在项目中搜索类的任何声明,并弹出标准的Eclipse搜索结果视图。我假设您在Eclip

我的系统中有大量与我的应用程序相关的jar文件

我怎样才能在这么多jar文件中找到一个特定的类呢


如果这些jar文件位于Eclipse项目的构建路径中,请向您表示感谢:


Ctrl-Shift-T(对于“打开类型”,“类型”与“类”中的相同)会显示一个搜索框。您可以键入(即SB而不是StringBuilder)。

您应该能够右键单击源文件中的类名并选择声明上下文菜单项的子项之一,即右键单击类名并选择声明/项目。这将在项目中搜索类的任何声明,并弹出标准的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$ 
在Windows中,您可以在命令提示符下使用
FOR
循环来编造类似的内容,但我不记得
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机器后编辑它。

不会CTRL+t打开
类型层次结构的“类”
Oops。可能是Ctrl-shift-T。对不起。非常感谢,实际上我的意思是,在Windows文件夹中,我有很多jar,我只想将所需的jar导入Eclipse,很抱歉造成混淆。您可以用7Zip打开它们(或者类似的东西,jar文件只是zip文件)看看里面是什么。是否可以用java按语法派生jar名称,相当于Ctrl+Shift+T?您可能想在
superuser.com
insteadmable duplicate>上问这个问题,而不是递归搜索(windows案例)?