本地测试正常的接口发布后线上调用时报错
file:/app/xxxx/xxxx.txt(No such file or directory)
代码是这么写的
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("xxxx/xxxx.txt").getFile());
FileInputStream inStream = new FileInputStream(file);
第一时间想到的解决方案是把资源文件挂载到Docker容器中
差不多这样
docker run -v /path/to/host/directory:/data your-image
但是嫌麻烦,毕竟现在文件内容还要经常修改,每次发布还得上传文件
还是直接改代码解决问题
InputStream inStream = getClass().getResourceAsStream("/xxxx/xxxxx.txt");
问题解决