繁体   English   中英

通过命令行在类路径(ncluding JARS)中搜索或列出Java类

[英]Search or list Java classes in classpath (ncluding JARS) via command line

我非常喜欢javap命令行程序来反编译和检查类,但是大多数时候我都无法重新收集类的完全限定的包名:

javap java.nio.file.Files

如果我不知道包名,那么我就会使用谷歌。 是否有内置的java程序或光滑的Linux命令可以搜索和列出给定类名的所有匹配包?

搜索所有罐子:

find <path> -name "*.jar" -exec jar -tf {} \; | grep "/<classname>\.class\$"

例:

find ~/.ivy2/ -name "*.jar" -exec jar -tf {} \; | grep "/Filter\.class\$"

输出:

javax/servlet/Filter.class
javax/servlet/Filter.class
javax/servlet/Filter.class
org/scalatest/Filter.class
org/scalatest/Filter.class
org/fusesource/scalate/filter/Filter.class
org/fusesource/scalate/filter/Filter.class
scala/tools/scalap/scalax/rules/Filter.class
org/apache/ivy/util/filter/Filter.class
com/foursquare/fongo/impl/Filter.class
com/foursquare/fongo/impl/Filter.class
com/foursquare/fongo/impl/Filter.class
shapeless/Filter.class

我个人并不喜欢这个解决方案。

要搜索所有类文件,只需使用find

find <path> -name "*.class"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM