srcAdd.jsp用于解决java.lang.NoSuchMethodError
来源:互联网 发布:数据仓库 数据加工 编辑:程序博客网 时间:2024/06/10 10:56
在实际开发中,经常会遇到jar包冲突而抛出的:java.lang.NoSuchMethodError
,排查起来非常的麻烦。本JSP页面的功能就是用于java类路径定位,使用时将srcAdd.jsp放置在项目的根路径下,项目运行起来之后,在地址栏输入URL,如 .../srcAdd.jsp?className=java.net.URL即可查看类所在的路径
,排查起来非常的麻烦。本JSP页面的功能就是用于java类路径定位,使用时将srcAdd.jsp放置在项目的根路径下,项目运行起来之后,在地址栏输入URL,如 .../srcAdd.jsp?className=java.net.URL即可查看类所在的路径
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.security.*,java.net.*,java.io.*"%> <%! 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 does not specify if 'pd' can ever be null; // it is not the case for Sun's implementations, but guard against null // just in case: if(pd != null) { final CodeSource cs=pd.getCodeSource(); // 'cs' can be null depending on the classloader behavior: if(cs != null) { result=cs.getLocation(); } if(result != null) { // Convert a code source location into a full class file location // for some common cases: if("file".equals(result.getProtocol())) { try { if(result.toExternalForm().endsWith(".jar") || result.toExternalForm().endsWith(".zip")) { result=new URL("jar:".concat(result.toExternalForm()).concat("!/").concat(clsAsResource)); } else if(new File(result.getFile()).isDirectory()) { result=new URL(result, clsAsResource); } } catch(MalformedURLException ignore) { } } } } if(result == null) { // Try to find 'cls' definition as a resource; this is not // document.d to be legal, but Sun's implementations seem to //allow this: final ClassLoader clsLoader=cls.getClassLoader(); result=clsLoader != null ? clsLoader.getResource(clsAsResource) : ClassLoader.getSystemResource(clsAsResource); } return result; } %> <html> <head> <title>srcAdd.jar</title> </head> <body bgcolor="#ffffff"> 使用方法,className参数为类的全名,不需要.class后缀,如 srcAdd.jsp?className=java.net.URL <% try { String classLocation=null; String error=null; String className=request.getParameter("className"); classLocation=""+getClassLocation(Class.forName(className)); if(error == null) { out.print("类" + className + "实例的物理文件位于:"); out.print("<hr>"); out.print(classLocation); } else { out.print("类" + className + "没有对应的物理文件。<br>"); out.print("错误:" + error); } } catch(Exception e) { out.print("异常。"+e.getMessage()); } %> </body> </html>
阅读全文
0 0
- srcAdd.jsp用于解决java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError: 解决
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext错误解决
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext错误解决
- 【已解决】java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
- srcAdd.jsp
- srcAdd.jsp
- 异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
- 异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationConte错误
- 异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContent()异常
- java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationConte错误
- 异常:java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext
- java.lang.NoSuchMethodError翻译
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError解决方法
- java.lang.NoSuchMethodError: a
- Webstorm 添加 .vue 文件功能并支持高亮和ES6语法
- centos6安装redis
- Python标准库2 时间包
- 搭建VM的虚拟机下hadoop集群环境
- caioj1063:动态规划入门(一维一边推1:美元和马克)
- srcAdd.jsp用于解决java.lang.NoSuchMethodError
- Excel 设置数字以万为单位显示以更准确地表达数目
- stl-map/set
- Java_Proxy
- 学生信息管理系统的构建3--自定义类模板
- WebStorm ES6 语法支持设置
- Kaldi脚本分析(6)——解码图构建
- spark python 环境搭建 windows10
- php之tp框架发邮件