[arthas@7481]$ sm com.weaver.common.form.formapi FormAPIService
Affect(row-cnt:0) cost in 18 ms.
arthas的sm命令是用于搜索类的信息,但在搜索类信息之前,需要先加载类的字节码。可能出现找不到路径的原因有以下几种可能性:
tomcat中的项目没有启动或者没有被arthas加载。arthas只能搜索已经加载的类,如果tomcat中的项目没有被arthas加载,那么arthas就无法找到它。
arthas所在的机器没有权限访问tomcat中的项目。可以尝试在arthas所在的机器上使用curl或者浏览器访问tomcat中的项目,查看是否能够访问成功。
tomcat中的项目所在的路径没有被arthas搜索到。arthas的默认搜索路径是当前用户目录下的所有jar和war包,如果tomcat中的项目不在这些路径下,就需要手动添加搜索路径。
可以使用arthas的sc命令来查看当前arthas搜索的所有路径。如果tomcat中的项目不在这些路径下,可以使用arthas的classloader命令手动添加搜索路径。例如:
bash
classloader -p /path/to/tomcat/webapps/yourproject/WEB-INF/classes
如果还是无法找到路径,可以尝试重启arthas或者重启tomcat,有时候重启可以解决问题。