最近在调试一个UI自动化的测试框架时,遇到一个问题。
代码中有用到两个方法来获取文件,参数为 "/config/common.properties" 这样的相对路径。
InputStream in=xxx.class.getClassLoader().getResourceAsStream()
InputStream in=xxx.class.getResourceAsStream()
但是在调试的过程中, in总是为空,
然后用eclipse debug的时候,step into 到 getResourceAsStream这个方法里的时候,发现打开源文件所在的目录是在另外一个项目的maven库下,而不是当前正在调式的这个项目的目录。
首相我不确定是不是这个问题导致的文件读取失败,所以我把参数换成了绝对路径,但是也是失败了。想想也是,这个方法是在当前的类所在的目录查找的。
后来把项目update了一下,就可以了。貌似之前有做过改动过。右键项目>maven>update project