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

Posted shane

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();  
 

以上是关于Maven项目中将配置文件打包到jar包中的主要内容,如果未能解决你的问题,请参考以下文章

maven打包额外的资源文件

如何用maven将配置文件打在jar包外

maven把java项目打包,如何把配置文件提出来

jar读取外部和内部配置文件的问题

求教java maven项目打包引入的问题,求大神解答

spring boot 使用maven打包删除配置文件