如何读取maven项目中的resources

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何读取maven项目中的resources相关的知识,希望对你有一定的参考价值。

     建立一个maven web项目,project-name/src/main下面有3个目录,java、resources、webapp

java中存放java源代码,package等

resources中存放一些个资源文件,比如properties文件等,编译好会自动将这里边的文件复制到target/classes里去

webapp就相当于是我们的web项目的WebContent目录

 

下面我们来看一下如何读取resources里的文件

Properties prop = new Properties();
        try {
            prop.load(this.getClass().getResourceAsStream("/kafka-http.properties"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
java.lang.Class.getResourceAsStream(String name)这个方法。
关键在于后面的路径的写法:
"kafka-http.properties"     是去当前这个class文件同一个目录下找(也即是当前这个java文件同一个目录下必须有这个properties文件,才能复制到对应的class目录)
"/kafka-http.properties"    是去整个项目的classes目录下去找,也即是上面提到过的target/classes
 
所以如果将属性文件放到src/main/resources里,那么要用Class.getResourceAsStream("/kafka-http.properties")来读取。

 

以上是关于如何读取maven项目中的resources的主要内容,如果未能解决你的问题,请参考以下文章

读取Maven项目下resources目录下的配置文件(properties为例)

Spring Boot中如何读取resources目录下的文件

maven的src/test/resources中的配置文件怎样读取?

idea中maven项目xml资源文件无法读取

解决maven项目Invalid bound statement (not found)的方法

Maven原型插件不允许原型资源中的.resources通过