File对象编程踩坑
将程序封装成jar后使用File对象不能访问封装在resource目录下的资源文件,因为File访问的是电脑、虚拟机或者容器中存在的资料,resource在打成jar包后也会被压缩,这时使用File对象加url的方式就会出现FileNotFoundException。
所以如果需要将资料文件放入resource或者项目的其他文件夹下,应当避免是用File直接读取文件,可以通过注入ResourceLoader加上使用使用classpath:url的方式替代,但是ResourceLoader也有他的缺陷,在需要访问本机而非项目jar中的文件时,ResourceLoader会自动在 Tomcat 运行时的临时目录中查找,这时也会出现FileNotFoundException。