当前位置: 首页 > 面试题库 >

查找给定类名称的jar文件?

邹书
2023-03-14
问题内容

对于Java开发人员来说,这必须是一个非常基本的问题,但是在给定 类名* 的情况下找到合适的 jar文件 的最佳方法是什么? *

例如,给定“
com.ibm.websphere.security.auth.WSSubject
”,您如何跟踪适当的jar文件?(“ google”不是我要找的答案!)

在Java文档不给jar文件的任何暗示,明显的jar文件的名称本身不提供线索。

在Java世界中,一定有一个“搜索本地jar”或某种“自动解析依赖项”。理想情况下,我正在寻找实现此目的的“官方”方式。我碰巧是没有cygwin的Windows机器。


问题答案:

将其另存为findclass.sh(或其他内容),将其放在路径中并使其可执行:

#!/bin/sh
find "$1" -name "*.jar" -exec sh -c 'jar -tf {}|grep -H --label {} '$2'' \;

第一个参数是要递归搜索的目录,第二个参数是要搜索的正则表达式(通常只是一个简单的类名)。

$ findclass.sh . WSSubject

该脚本依赖jar命令的-t选项(列出内容),并抓取每个目录,并用在其中找到该JAR文件的路径标记所有匹配项。



 类似资料:
  • 问题内容: 我需要一种工作方法来获取所有从Python基类继承的类。 问题答案: 新型类(即objectPython中默认的from的子类)具有一种返回子类的方法: 这是子类的名称: 这是子类本身: 确认确实将子类Foo列为其基础: 请注意,如果需要子类,则必须递归: 请注意,如果尚未执行子类的类定义(例如,如果尚未导入子类的模块),则该子类尚不存在,也将找不到它。 你提到“给定名称”。由于Pyt

  • 问题内容: 我在Ubuntu上,我想在当前目录和子目录中找到名称包含字符串“ John”的所有文件。我知道可以匹配文件中的内容,但是我不知道如何在文件名中使用它。任何帮助,将不胜感激。 问题答案: 使用find命令,

  • 问题内容: 给定一个类名作为字符串,如何在运行时获取它的包名?我没有带有包名+类名的完全限定名称。仅是类名。 我想在方法中使用包名。 找到第一个匹配的软件包名称(如果多个软件包具有相同的类),就可以了。 有任何想法吗? 更新 我没有要处理的Class实例。我的要求是使用该方法创建一个Class 。但是我只是将类名作为字符串。我需要某种方法来遍历软件包并确定我所拥有的类是否属于该软件包。 异常的堆栈

  • 问题内容: 给定一个类,例如org.eclipse.ui.views.navigator.ResourceNavigator,如何找出要使用的jar文件?我知道它在org.eclipse.ui.ide中,但是我怎么发现呢? 编辑 :谢谢所有回答的人。像许多事物一样,似乎有几种方法可以给这只猫蒙皮。我希望javadoc包含此信息。到目前为止,这里是不同的方法: 没有Internet,Eclipse或

  • 我正在使用OpenNLP的NameFinder API示例文档。初始化名称查找器后,文档使用以下代码作为输入文本: 然而,当我将其引入eclipse时,“documents”(而不是“document”)变量给了我一个错误,表示变量documents无法解析。“documents”数组变量所指的文档是什么?我是否需要初始化一个名为“documents”的数组,该数组包含txt文件,以消除此错误?

  • 问题内容: 是通过其他方式或查询来查找具有特定列而不是如下所示的数据库表名称的方法, 问题答案: 在SQL Server中,您可以查询。 就像是: 如果您有多个模式中的表,则可能需要其他查找来解析模式名称。