JavaWeb获得项目路径的问题

为了获得javaWeb项目的绝对路径。我写了个Class:ConstantUnit
其中得到路径方法如下:
private String getClasspath() {
try {
return Class.forName("com.const.util.ConstantUnit").getResource("/").getPath();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
现在我在当前包下新建了一个叫做Test的类,调用上面的方法,得到的路径是/E:/git/wx_repository/WXEduSystem/build/classes/
然后我在Servlet中调用得到的却是/E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WXEduSystem/WEB-INF/classes/
请问各位大神,哪个才是项目真实路径,这是什么原理呢?

E:/ProjectJ2E/ 是不是你的workspace呢?这个还真没测试过,
/E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WXEduSystem/WEB-INF/classes/应该是你的项目上传到服务器的地址,而在当前类测试的结果是项目的物理地址

E:/git/wx_repository/WXEduSystem/build/classes/ 这个是真实的项目路径。
E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WXEduSystem/WEB-INF/classes/这个算是缓存的一种,可以删除,每次重启服务它又会自动出现。

上传一个文件(如图片)到webContent的某文件夹下,且能够在客户端读出这个文件 这个应该取第一个地址,如果是第二个地址你一更新全量包,不是就没了

如果你用的eclipse的话E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WXEduSystem/WEB-INF/classes/这个应该是缓存文件
E:/git/wx_repository/WXEduSystem/build/classes/这个应该是真实的,如果你不想让他在缓存上跑的话,eclipse支持设置

两个路径都是对的,项目运行路径。
1) E:/git/wx_repository/WXEduSystem/build/classes 你不使用eclipse 就需要到这个路径下 ,cmd运行 java 你的类全名 。

2) E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WXEduSystem/WEB-INF/classes/
eclipse下支持的web服务器有多种运行方式,你这个方式是eclipse 在E:/ProjectJ2E/.metadata/.plugins/org.eclipse.wst.server.core路径下复制了一个叫tmp0临时服务器(相当于复制了一个tomcat),此方式是默认方式 可以修改的。使用tomcat运行项目,这时的路径是你的项目编译后放到了tmp0下运行。所以才显示的此种路径。