Class.getResource 等等各種獲取路徑以及一些問題總結
阿新 • • 發佈:2018-11-28
String str=teest3.class.getResource("/")+"";
String str3=teest3.class.getResource("")+"";
System.out.println("str==="+str);
System.out.println("str3==="+str3);
結果
str===file:/D:/eclipseworkspace5/abc/build/classes/
str3===file:/D:/eclipseworkspace5/abc/build/classes/com/serviceinterface/
System.out.println(new File(PDFUtil.class.getResource("/").getPath()).toString());
結果 D:\eclipseworkspace5\SLCC_branches\slcc_web\target\classes
得到根路徑
得到本類路徑System.out.println(PDFUtil.class.getResource("").getPath());
得到根路徑System.out.println(PDFUtil.class.getClassLoader().getResource("").getPath());
System.out.println(PDFUtil.class.getClassLoader().getResource("/").getPath());
問題1:
專案中遇到這樣一個問題 需要獲得一個路徑 首先把javaweb專案打成war包放到了linux的jboss上但是專案部署路徑改過了,這個war包也不解壓 需要在程式碼裡面獲取classes資料夾下面的一個檔案,當時是獲取一個ireport的模板 叫report.jrxml檔案 最後獲取的方式是 request.getRealPath("/")+"WEB-INF/classes/report.jrxml" 這個路徑獲取了jboss在快取中解壓war包的路徑 最終找到這個jrxml檔案。這個路徑指向jboss自己編譯的時候生成的一個隨機的快取檔案裡面的war的解壓路徑