尝试了很多方法。有classloader相关的、jarfile、spring相关的。最后得到的结果是:不能从jar文件中以File对象返回里面的指定文件,若想读取文件内容,需要以流的形式!
如果真的非要返回文件,那么需要在中间步骤进行处理,以流的形式读取数据,并把数据信息存储在临时文件中,返回临时文件。切记这样做了之后需要及时删除临时文件,以免产生不必要的垃圾!
关于spring解决jar中读取文件的相关资料:
http://stackoverflow.com/questions/3447258/get-file-from-jar
http://stackoverflow.com/questions/2271926/how-to-read-a-file-from-a-jar-file
http://stackoverflow.com/questions/16842306/how-to-read-a-file-from-jar-archive
http://stackoverflow.com/questions/403256/how-do-i-read-a-resource-file-from-a-java-jar-file