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

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

本文转载自:

 

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,获取不到路径,目前还没有找到具体的解决方案。

你可能感兴趣的文章
IIS Express 启用目录浏览
查看>>
当才华还配不上野心,就静下来学习
查看>>
编写高效的C++程序方法之使用对象池
查看>>
MFC子窗口和父窗口(SetParent,SetOwner)
查看>>
QT5(一):HelloWord
查看>>
Eclipse快捷键大全(同样适用基于Eclipse开发的IDE)
查看>>
JAVASE总复习
查看>>
windows应用迁移到linux下
查看>>
linux网卡研究
查看>>
考虑用静态工厂方法代替构造器
查看>>
常见排序算法:冒泡排序
查看>>
我的友情链接
查看>>
使用ZooKeeper
查看>>
Jenkins+git 实现代码自动发布
查看>>
【转】frame与bounds的区别比较
查看>>
从今天开始写博文
查看>>
Java并发 乐观锁和悲观锁 乐观锁的一种实现方式CAS
查看>>
SpringMVC json/xml自动转换
查看>>
我的友情链接
查看>>
lua 语言基础
查看>>