//理论上用class.getProtectionDomain().getCodeSource().getLocation().getFile();比较准.
//不过有两个需要注意的:
//1.返回如果是个文件说明是Jar包形式,返回的是jar,如果是目录说明是class,返回的是class所在的目录.
//2.如果加载class的classLoder是一个自定义,那个这个方法很可能不支持,因为自定义的classLoder可能没有完成这部分功能.
public URL testDir()
{
return this.getClass().getProtectionDomain().getCodeSource().getLocation();
}
public static void main(String[] args) {
String url=ClassPathXmlApplicationContext.class.getProtectionDomain().getCodeSource().getLocation().getFile();
///D:/WorkSpace/KISQuery/TestPlace/work/eclipse/kisquery/WebRoot/WEB-INF/lib/spring-context-2.5.6.jar
System.out.println(url);
}