1.最近在做一个项目,需要获取classes文件夹的具体路径,web服务器是tomcat首先想到的HttpServletRequest request自带的方法,于是:
String path = request.getSession().getServletContext().getRealPath("/");
System.out.println(path);
打印:E:\CRM\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Rbps\并没有得到classes文件夹的路径
2.闲话少说,直接上正确方法:
获取classes的路径
String rootPath=getClass().getResource("/").getFile().toString();
System.out.println(rootPath);
打印:/E:/CRM/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Rbps/WEB-INF/classes/
//取得具体某个class的路径
System.out.println(UserServlet.class.getResource(UserServlet.class.getSimpleName() + ".class"));
System.out.println("UserServlet.class的路径是=="+(UserServlet.class.getResource(UserServlet.class.getSimpleName() + ".class")).toString().replace("file:/", ""));
打印:file:/E:/CRM/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Rbps/WEB-INF/classes/com/java1234/web/UserServlet.class
UserServlet.class的路径是==E:/CRM/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Rbps/WEB-INF/classes/com/java1234/web/UserServlet.class