背景方式一方式二
背景
有的时候,我们经常会碰到java.lang.NoSuchMethodError的错误信息。 究其根源,是由于JVM的 全盘负责委托机制导致的。 关于 全盘负责委托机制 ,请查看另一篇博文 全盘负责委托机制
特别是对于一些web项目,jar包很多,如何精确的查找呢?
方式一
将下面的JSP文件,放到web容器的根路径下,启动web容器,通过 http://ip:port/projectname/srcAdd.jsp?className=XXXXXX
比如:
运行web项目,访问
http://localhost:8080/hello-spring4/srcAdd.jsp?className=org.springframework.beans.factory.annotation.Autowired
srcAdd.jsp
public static URL getClassLocation(final Class cls) {
if (cls == null)throw new IllegalArgumentException("null input: cls");
URL result = null;
final String clsAsResource = cls.getName().replace('.', '/').concat(".class");
final ProtectionDomain pd = cls.getProtectionDomain();
// java.lang.Class contract d