2016-11-17 16 views
0

Windowsでは同じ行が動作しますが、Linuxでは動作しません。コードは実行可能なjarファイルを通して実行されます。ビルドパスにJava jar getResourceがLinuxで動作しない

  • エントリ:{PROJECT}/SRC、{PROJECT}/RES
  • Test1.javaのプロジェクトパス:TC_Mapping.xmlの/ SRC/COM/QE/UTIL/Test1を
  • プロジェクトパス:/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に設定されます。 –

関連する問題