一般在Maven项目中,我们的.java文件都是保存在src/main/java包下,资源配置文件则在src/main/resources包下,具体目录如图所示:
如果我们需要读取classpath下的资源文件(即src/main/resources包下资源文件),我们通过以下代码按理来说应该是可以的
properties=new Properties();
is =HandlerServer.class.getClassLoader().getResourceAsStream("socketConfig.properties");
properties.load(is);
但是当我实际启动项目时,却报
获取is输入流空指针,即找不到资源文件;
这是比较烦人的,经过仔细的查找资料,研究之后,终于发现了问题,原来eclipse在编译的时候并没有加载资源文件,问题就出现在下图红线处:
从上图可以清晰的看到,eclipse在编译时,只会加载src/main/resources目录下的.java文件,其他文件不会加载,这就导致了程序始终无法加载资源文件,
找到问题,那只要稍加修改既可,修改如图所示:
修改为上图所示,保存即可。