这对于 Java 开发人员来说一定是一个非常基本的问题,但是在给定 类名 的情况下找到合适的 jar 文件 的最佳方法是什么?
例如,给定“com.ibm.websphere.security.auth.WSSubject”,你如何找到合适的 jar 文件? (“google”不是我要找的答案!)
java docs不要给出jar文件的任何提示,显然jar文件本身的名称没有提供任何线索。
Java 世界中一定有“搜索本地 jars”或某种“自动解析依赖项”的技巧。理想情况下,我正在寻找“官方”的方式来做到这一点。我碰巧在没有cygwin的Windows机器上。
最佳答案
将此保存为 findclass.sh(或其他),将其放在您的路径上并使其可执行:
#!/bin/sh
find "$1" -name "*.jar" -exec sh -c 'jar -tf {}|grep -H --label {} '$2'' \;
第一个参数是递归搜索的目录,第二个参数是要搜索的正则表达式(通常只是一个简单的类名)。
$ findclass.sh . WSSubject
该脚本依赖于 jar 命令(列出内容)的 -t 选项并 greps 每个目录,并用找到它的 JAR 文件的路径标记任何匹配项。
关于java - 找到一个给定类名的jar文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1500141/