springboot本地正常启动,部属服务器找不到外部文件 file:/apps/xxx/xxx/xxx.jar!/BOOT-INF/classes!/
废话不多,直接上代码
一.获取本地路径:
1.在本地启动时候 path=/xxx/xxx/xxx/classes/ (就是你项目编译后的本家class类存放的地址)
2.在服务器启动 path = /apps/xxx/xxx/xxx.jar!/BOOT-INF/classes!/ (会变成你服务器的根目录到你jar包里class类的存放路径,会多出好几个用不到的目录)
①
String path = URLDecoder.decode(this.getClass().getClassLoader().getResource("").getPath(), “UTF-8”)
InputStream is = new InputStream(path)
解决方法:
上面的代码直接替换
②
String configUrl = “config/config.properties”;
Resource resource = new ClassPathResource(configUrl)
InputStream is = resource.getInputStream();
区别(个人理解有不对的地方,望大佬轻拍0.0):
①根目录到项目class类存放文件取全部路径,eg: /a/b/c/项目/target\classes
②只取项目到class类存放文件路径 eg:/项目/target\classes