java中获取资源文件很常见的方式是getClassLoader().getResource("name") ,非常容易,今天写代码遇到个问题:在src/main/resources目录中新建了一个资源文件config_test。使用上述方法获取,结果返回的是一个null,没有找到资源文件。同样的目录下,config.properties文件是可以使用上述方法获取。把config_test文件修改成config_test.properties文件后,也可以正常的读取。
这到底是为什么?
我记得之前也遇到过一次,今天又遇到了,激起了我的好奇心。
看到这篇文章,一下子解决了我的疑惑:http://stackoverflow.com/questions/19035407/classloader-getresourceasstream-returns-null
看了下自己pom文件中resource的配置:
<resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource>
之前从其他项目中抄过来的配置,哈哈。修改了下,果然OK了!