博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转载:JAVA中获取项目文件路径
阅读量:6322 次
发布时间:2019-06-22

本文共 2146 字,大约阅读时间需要 7 分钟。

hot3.png

web 上运行 

1:
this.getClass().getClassLoader().getResource("/").getPath(); 
this.getClass().getClassLoader().getResource("").getPath();  得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

System.getProperty("user.dir");

this.getClass().getClassLoader().getResource(".").getPath();    得到的是 项目的绝对路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:
this.getClass().getResource("/").getPath(); 
this.getClass().getResource("").getPath(); 得到的是当前类 文件的URI目录。不包括自己!
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/

this.getClass().getResource(".").getPath();   X 不 能运行

3:
Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath()  得到的是 ClassPath的绝对URI路径。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/

Thread.currentThread().getContextClassLoader().getResource(".").getPath()  得到的是 项目的绝对路径。

如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

 

 

在本地运行中

1:

this.getClass().getClassLoader().getResource("").getPath(); 
this.getClass().getClassLoader().getResource(".").getPath();   得到的是 ClassPath的绝对URI路径。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath();  X 不 能运行

2:

this.getClass().getResource("").getPath(); 
this.getClass().getResource(".").getPath(); 得到的是当前类 文件的URI目录。不包括自己!
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/

/D:/myProjects/hp/WebRoot/WEB-INF/classes/    得到的是 ClassPath的绝对URI路径。

如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

 

3:

Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的绝对URI路径。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

Thread.currentThread().getContextClassLoader().getResource("/").getPath()    X 不 能运行

 

最后 

    在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。
还有request.getContextPath();  在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic服务器,项目内部并没有文件结构的概念,用这种方式是始终得到null,获取不到路径,目前还没有找到具体的解决方案。

转载于:https://my.oschina.net/airship/blog/1540753

你可能感兴趣的文章
不忘本~委托与事件
查看>>
详解 Android Activity 生命周期
查看>>
MySQL用户管理及SQL语句详解
查看>>
[常微分方程]2014-2015-2第5教学周第2次课讲义 3.1 解的存在唯一性定理和逐步逼近法...
查看>>
CNN 那么多的网络有什么区别吗?看这里了解 CNN 的发展历程
查看>>
多云中如何共享责任模式
查看>>
Adenium约旦57MW太阳能光伏项目投产
查看>>
《Servlet和JSP学习指南》一3.6 动作
查看>>
物联网市场FD-SOI制程会取代FinFET吗?
查看>>
《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一2.2 ESXi简介
查看>>
外媒:新型太阳能板用空气压缩制成饮用水
查看>>
日媒:漂浮式太阳能电站显示中国清洁能源的雄心
查看>>
吴江:以“大数据”引领供给侧改革
查看>>
红山区智慧城管系统正式上线运行
查看>>
Nodejs进阶:readline实现日志分析+简易命令行工具
查看>>
(课程)基于HBase做Storm 实时计算指标存储
查看>>
mysql数据库相关基本术语和概念
查看>>
EXTJS MYSQL交互总结
查看>>
在cmd窗口中显示UTF-8字符
查看>>
iOS开发之判断系统版本
查看>>