Java:如何根据类名知道要使用哪个jar文件?

Eug*_*ota 21 java eclipse jar

给定一个类,例如org.eclipse.ui.views.navigator.ResourceNavigator,如何找出要使用的jar文件?我知道它在org.eclipse.ui.ide中,但我怎么能找到它呢?

编辑:谢谢你们所有回答的人.像很多东西一样,似乎有几种方法可以给这只猫皮肤涂抹.我希望javadoc包含这些信息.到目前为止,这里有不同的方法:

  1. 没有Internet,Eclipse或NetBeans:

    for f in `find . -name '*.jar'`;  do echo $f && jar tvf $f | grep -i $1; done
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您想使用Eclipse在本地查找:

  3. 如果你想从互联网上找到你或者你还没有jar:

小智 19

如果您在类路径/项目路径中有jar,请按CTRL-SHIFT-T并键入名称... jar将显示在底部.

如果您的构建路径中没有该类a)将包含所有jar的虚拟项目放在一起b)我认为有一个插件可以从IBM Alphaworks中找到jar(但可能有点过时了)


Von*_*onC 17

你也有这个eclipse插件:jarclassfinder

用户输入未找到的类的名称(或Java项目需要访问的类的名称).该插件将在所选目录(和子目录)中搜索包含该类的JAR文件.

所有结果都显示在自定义视图的表格中.然后,用户可以浏览此表并选择要添加到其Java项目构建路径的JAR文件.然后,用户右键单击表中的条目,然后从上下文菜单中选择要添加它的构建路径.


更新2013年,正如我在" 搜索.jar文件eclipse "中提到的那样,它不再被维护,并且替代方案很少.

正如sunleo评论如下:

使用Eclipse,Ctfl+ Shift+ T仍然是查找类型的最简单的替代方法
(状态栏中显示了jar名称).


user862268评论如下:

对于mac,在Eclipse中是cmd+ shift+ T来查找类和关联的jar.


arv*_*ill 10

在Eclipse IDE中转到Ctrl + Shift + T.

出现打开类型对话框,您可以在其中输入类名.之后显示包标识符和jar目标.

  • 谢谢你提醒这个好老的:) (2认同)

小智 8

要回答这个问题,没有真正的方法可以知道使用哪个罐子.不同的版本可能会有不同的行为.

当找到包含给定类的jar时,我使用:

for f in `find . -name '*.jar'`;  do echo $f && jar tvf $f | grep -i $1; done
Run Code Online (Sandbox Code Playgroud)

这将突出显示任何包含作为任何子文件夹中的参数传入的类名的jar.

查找类的另一个好方法是使用maven repos搜索.


小智 5

对我来说这很好:

find * -type f -name '*.jar' -exec grep -l 'TestClass.class' '{}' \;
Run Code Online (Sandbox Code Playgroud)

问候