【转】Maven项目中将配置文件打包到jar包中

参考博客:http://blog.csdn.net/ciedecem/article/details/10382275

 

问题:

项目中需要用到从文件中加载json数据,如图放在conf目录下。

程序中用

XXX.class.getResource("app.json");

XXX.class.getClassLoader().getResourceAsStream("app.json")

都找不到该文件,报NullPointerException。类加载器只能加载classPath目录下面的文件,不能用这两种方式读取jar文件外部的文件。

解决方案:

参考网上博客...知道Maven项目会将src/main/resources目录中的所有文件都打包到jar中,那么上面的方法就可以用了。于是建resources目录,发现确实可行!

附:类加载器加载文件方式

 

[java] view plain copy
 
  1. <span style="white-space:pre;"> </span>InputStream inputStream = EmojiUtil.class.getClassLoader().getResourceAsStream("emoji.json");  
  2.         BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));  
  3.         StringBuilder strSB = new StringBuilder();  
 
posted on 2018-06-27 23:15  曲进笑谈  阅读(1045)  评论(0编辑  收藏  举报