当项目碰到类冲突,真的很恼火,
Caused by: java.lang.NoSuchMethodError: com.BossPkgHead2.<init>(JLjava/lang/String;)V
于是有了下面这个做法:
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@page import="org.springframework.core.io.support.PathMatchingResourcePatternResolver"%>
<%@page import="org.springframework.core.io.Resource"%>
<%
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver
.getResources("classpath*:/com/BossPkgHead2.class");
out.println("test:" + resources.length + "<br>");
for (Resource resource : resources)
{
out.println(resource.getURI() + "<br>");
}
%>
将jsp放到项目中访问一下,通过resolver取获取指定的class文件,可以得到类冲突的具体描述:
test:2
jar:file:/usr/local/brand/commonlib/com.common-2.0.0.jar!/com/BossPkgHead2.class
jar:file:/usr/local/brand/commonlib/com.protocol-1.0.0.jar!/com/BossPkgHead2.class
raywu同学确实比较高,呵呵。