1. 程式人生 > >Class.getResource 等等各種獲取路徑以及一些問題總結

Class.getResource 等等各種獲取路徑以及一些問題總結


//獲取專案編譯的跟目錄(class檔案下
               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.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的解壓路徑