2016-11-17 95 views
0

相同的代碼行在Windows中工作,但不在Linux中。代碼通過可執行的jar文件運行。Java jar getResource不能在linux中工作

  • 項在構建路徑:(項目)/ src目錄,(項目)/ RES Test1.java的
  • 項目路徑:/ src目錄/ COM/QE/UTIL/Test1的
  • 項目TC_Mapping.xml的路徑:/res/TC_Mapping.xml

package com.qe.util; 
public class Test1{ 
    public static void parseTCMapping(){ 
    ... 
     String xmlPath = TCDetailsExtractor.class.getClassLoader().getResource("TC_Mapping.xml").toString(); 
     System.out.println(xmlPath); 
     InputStream is = TCDetailsExtractor.class.getClassLoader().getResourceAsStream(xmlPath); 
    ... 
    } 
} 

回答

0

如果您在jar中有資源,您應該使用getResourceAsStream()方法獲取其內容。這可能是文件不是在jar中,而是應用程序打包在jar中時。

+0

我已經在[TCDetailsExtractor.class.getClassLoader()。getResourceAsStream(..)]執行此操作,問題是這行代碼適用於Win,但不適用於Linux。 InputStream始終設置爲null。 –