找到给定类名的 jar 文件?

新手上路,请多包涵

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

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

Java 文档 没有给出任何关于 jar 文件的提示,显然 jar 文件的名称本身也没有提供任何线索。

在 Java 世界中必须有一个“搜索本地 jars”或某种“自动解析依赖项”的技巧。理想情况下,我正在寻找执行此操作的“官方”方式。我碰巧在没有cygwin的windows机器上。

原文由 Jeffrey Knight 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 360
2 个回答

将其保存为 findclass.sh(或其他),将其放在您的路径中并使其可执行:

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

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

 $ findclass.sh . WSSubject

该脚本依赖于 jar 命令的 -t 选项(它列出了内容)并 greps 每个目录,用找到它的 JAR 文件的路径标记任何匹配项。

原文由 Dan Dyer 发布,翻译遵循 CC BY-SA 2.5 许可协议

我为此编写了一个程序: https ://github.com/javalite/jar-explorer 它还将反编译现有的字节代码以向您展示接口、方法、超类,将展示其他资源的内容——文本、图像、html , ETC。

原文由 ipolevoy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题