[转]ClassPath是什么
from:?https://my.oschina.net/GivingOnenessDestiny/blog/603505
classpath 是什么
classpath實際上就是編譯后的 以 classes 文件夾為起點的路徑
各種path獲取到的路徑的區(qū)別
Main.class.getResource("");
-> 得到的是當前class所在的路徑
Main.class.getResourceAsStream("");
-> 是從當前路徑查找資源資源
Main.class.getClassLoader.getResource("");
-> 得到的是當前類classloader加載類的起始位置
Main.class.getClassLoader.getResourceAsStream("");
-> 從classpath的起始位置查找資源
但是
Main.class.getResource("/");
-> 表示從classpath目錄下找
也就是說 Main.class.getResource("/"); 等價于 Main.class.getClassLoader.getResource("");
但是 Main.class.getClassLoader.getResourceAsStream("/"); 返回的是null
關于Servlet 資源路徑
ServletContext.getRealPath("/") 返回的是 war 包展開后的從系統(tǒng)根目錄到war展開地址的根路徑,比如windows 就是 file:///d/path/to/war/
也就是上面做了兩個動作, 先從 war 根目錄找到資源, 然后返回資源完整路徑
同樣的 ServletContext.getResource("/") 返回的的是從war 根目錄查找到的資源,只不過返回的是 URL ServletContext.getResourceAsStream("/") 返回的是和上面一樣的 InputStream
但是 ServletContext.getResource("") 返回的是相對于URL的路徑,相當于從當前URL根路徑查找資源 ServletContext.getResourceAsStream("") 和上面一樣,只不過返回InputStream
http://localhost:8080/webbasic/simple ServletContext.getResource("") 返回的是 jndi:/localhost/webbasic/
轉載于:https://www.cnblogs.com/liqipeng/p/6759292.html
總結
以上是生活随笔為你收集整理的[转]ClassPath是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程之间通信 等待(wait)和通知(n
- 下一篇: Angular 小试牛刀[1]:Gett