Java jar getResource在linux中不起作用

时间:2016-11-17 13:34:10

标签: java linux classloader getresource

相同的代码行在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 个答案:

答案 0 :(得分:0)

如果您在jar中有资源,则应使用getResourceAsStream()方法获取其内容。这可能是文件不在jar中而不是在jar中打包应用程序时。