这次遇到的问题仍然是jar包冲突遇到的问题,导致jar包里的类冲突以至于方法报错,java.lang.NoSuchMethodError.
解决办法也开始逐个排查jar包,反编译jar包里的内容和其他的jar包比对.这是眼都花了.如果有maven就没这么多事了,但是
又是个线上的项目,迁移到maven不能保证不会出什么幺蛾子,就只能将就这,就只能将就者逐渐的迁移.
后来想java里有输出该类所在所在jar包路径的方法.
String className = request.getParameter("className"); PrintWriter printWriter = new PrintWriter(response.getWriter()); if(className == null || className.isEmpty()){ printWriter.write("className shoud be specified"); }else{ Class<?> clazz = null; try{ clazz = Class.forName(className); }catch(Exception e){ } if(clazz == null){ printWriter.println(className + "not found"); }else{ CodeSource codeSource = clazz.getProtectionDomain().getCodeSource(); if(codeSource == null){ printWriter.println(className + " location not available"); }else{ String location = codeSource.getLocation().getPath(); printWriter.println(className + " location: " + location); } } } printWriter.flush();
这是核心的代码,本来打算写个action,看到网上有将其写到jsp里的更方便.
时间: 2024-10-07 11:31:44