JAVA Jar 路徑問題

2021-06-01 17:40:08 字數 734 閱讀 8106

在**中讀取資源檔案,如果使用絕對路徑,任何時候都沒有問題,但**移植性差。

如果使用相對路徑:

1、單獨執行class檔案時,相對路徑是相對於該class;

2、class位於jar包中,資源檔案位於jar包外時,執行該jar包,相對路徑是相對於該jar包(jar包是乙個整體,不是乙個資料夾);

3、class位於jar包中,資源檔案也位於jar包中,不能通過相對路徑來訪問,只能通過以下兩個方法:

● public url getresource(string name)

查詢具有給定名稱的資源。資源是可以通過類**以與**基無關的方式訪問的一些資料(影象、聲音、文字等)。並返回資源的url物件。

example:  url fileurl=this.getclass().getresource("/resource/res.txt");   (res.txt在jar包中的resource下)

● public inputstream getresourceasstream(string name);

返回讀取指定資源的輸入流。這個方法很重要,可以直接獲得jar包中檔案的內容。

example:inputstream is=this.getclass().getresourceasstream("/resource/res.txt");   

bufferedreader br=new bufferedreader(new inputstreamreader(is)); 

Java jar版本 cxf版本問題

最近有個活,由於涉及程式相關jar包版本問題,導致一系列的異常。問題說大不大,但乙個乙個解決起來,確實耗時 耗神。mark下。思路如下 1 有些jar包是原專案jdk1.5版本下打包的,用高版本的jdk打包,不知要改多少 工作量無法估量,甚至可能影響業務。這點要命,直接斷了後路。換個思路,那就從we...

初學Java,jar命令詳解 二十四

jar檔案是個壓縮包,其實就是乙個類庫,相當於.net世界裡面的dll,裡面放的都是編譯編碼後生成的位元組碼檔案 class 另外會有乙個清單檔案meta inf manifest.mf 其檔案也是可以數字簽名的,所謂增強安全性羅。下面羅列一些jar命令 建立 jar檔案jar cf test.ja...

初學Java,jar命令詳解 二十四

jar檔案是個壓縮包,其實就是乙個類庫,相當於.net世界裡面的dll,裡面放的都是編譯編碼後生成的位元組碼檔案 class 另外會有乙個清單檔案meta inf manifest.mf 其檔案也是可以數字簽名的,所謂增強安全性羅。下面羅列一些jar命令 建立 jar檔案jar cf test.ja...