之前转过一篇java中获得资源文件的方法,当时直接拿来JUnit了一下,果然可行
结果放在web应用中却失效了。。。。这让我一时郁闷了很久
之后终于找到了解决办法,由于我一开始加载资源文件的时候直接使用的Class.class.getResourceAsStream(path),在直接运行java类的时候这个路径会是当前运行的java的路径,这个没错
不过在web应用中这个路径就会变成null,我不知道是为什么,可能是tomcat动了手脚。于是尝试把Class换成了类自身,也就是要用getResourceAsStream这个方法的方法的类的class,我是在自定义的Util类中调用的,就换成了Util.class.getResourceAsStream(path),好了问题解决。如果方法是非静态的,推荐使用getClass().getResourceAsStream(path),这样就更加灵活了,即使类名改变也不需要改代码了。