ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX+"static/document.jpg");
在开发环境获取文件没问题。
但是打jar包部署在linux服务器报错:
class path resource [project/] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:...
我的解决方案:
//Linux环境下获取jar包classpath中的文件
ClassLoader cl = this.getClass().getClassLoader();
InputStream inputStream = cl.getResourceAsStream("classpath:static/document.jpg");
//如果是Linux环境 这个inputStram就不会为空
if (null == inputStream) {
//走这里是因为是开发环境
File targetFile = ResourceUtils.getFile("classpath:static/document.jpg");
}
如果是部署在Linux环境的话,那么inputStream就不会为空,这样既满足了开发环境,也满足了测试环境。
版权声明:本文为qq_42797418原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。