idea全局搜索class文件或者字符串

  • 查class:CTRL+N
  • 查字符串:CTRL+SHIFT+R

有时候我们需要第三方jar包是否有某个类,或者要查询class文件的某个特定字符串,快捷键默认的搜索,查的都是in project的内容。

1、查某个类文件的时候

比如我要查Stringutils这个工具类。

选择项目文件Project Files的时候,只能查到自己项目的,并不能找到jar里面的

选择 All Places就能查到所有class文件了

2、查特定字符串,也是同理

不过不能查到class文件的字符串。

说明:

因为项目要引入很多第三方jar包,而且工程之间依赖多,存在很多相同的类名,甚至包名也一致,比如两个都是a.b.c.BaseController,一个有x()方法,一个没有,在我们本地jar包启动运行是没有什么问题,但是部署到容器,项目运行期间,由于JVM的类加载机制,有时候加载的并不是我们想要的那个class,尽管我们通过class反编译,看到是我们想要的那个有x方法class。

这个时候就会报错java.lang.NoSuchMethodException

因为我就是没有选择All places,就没有找到那个同包同名的类文件,搞了一天。醉了

总结