Java获取classpath下的路径

详见:http://cheneyph.iteye.com/blog/831721

1.this.getClass().getResource("") 

得到的是当前类class文件的URI目录。不包括自己!
如:file:/D:/workspace/jbpmtest3/bin/com/test/

2. this.getClass().getResource("/") 
得到的是当前的classpath的 绝对URI路径  。
如:file:/D:/workspace/jbpmtest3/bin/

3. this.getClass()  . getClassLoader().getResource("") 
得到的也是当前ClassPath的 绝对URI路径  。
如:file:/D:/workspace/jbpmtest3/bin/

4. ClassLoader.getSystemResource("") 
得到的也是当前ClassPath的 绝对URI路径  。
如:file:/D:/workspace/jbpmtest3/bin/

5. Thread.currentThread().getContextClassLoader ().getResource("") 
得到的也是当前ClassPath的 绝对URI路径  。
如:file:/D:/workspace/jbpmtest3/bin/

6. ServletActionContext.getServletContext().getRealPath(“/”) 
Web应用程序  中,得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。

如:file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WebProject


实际上很多java程序是发布在linux下的,以tomcat为例那么获取路径为:

详见:http://blog.csdn.net/magi1201/article/details/18731581

  1. String path = Test.class.getResource("/").toString();   
  2. System.out.println("path = " + path);  
path = file:/home/ngidm_db2/AS_Tomcat7_0_29/webapps/NGIDM/WEB-INF/classes/

  1. String path2 = Thread.currentThread().getContextClassLoader().getResource("/").getPath();  
  2. System.out.println("path2 = " + path2);  
path2 = /home/ngidm_db2/AS_Tomcat7_0_29/webapps/NGIDM/WEB-INF/classes/

没有之前的file可以直接使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值