项目直接运行时,资源的路径是src/main/xxx/xxx,打完jar包以后资源例如xml等将被放在jar包下的第一层,这时使用上述路径就会错误,无法访问到
解决办法:定义工具类,在工具类中使用getClassLoader().getResourceAsStream获取资源流数据
InputStream inputStream = Test.class.getClassLoader().getResourceAsStream(path);
注意:path如果是xml文件等,直接写文件名即可,例如原来是src/main/resources/xxx.xml,现在直接写xxx.xml
内容打印:
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); String s = ""; while ((s=reader.readLine())!=null) { System.out.println(s); }