Java jar getResource не работает в Linux

Те же строки кода работают в Windows, но не в Linux. Код запускается через исполняемый файл JAR.

  • Записи в BuildPath: {PROJECT}/src,{PROJECT}/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);
    ...
    }
}

1 ответ

Если у вас есть ресурс в банке, вы должны использовать getResourceAsStream() способ получения его содержания. Это может произойти, когда файлы не находятся в jar, но не когда приложение упаковано в jar.

Другие вопросы по тегам