运⾏jar⽂件时,ClassPathResource⽆法读取到资源⽂件的问
2010入党申请书题
问题场景:
在idea中运⾏,⼀切正常,资源⽂件都可以访问到,但打成jar包后,使⽤java -jar的形式去启动,就访问不到resource下的资源⽂件了
⽹上搜了很多⽂章,但试了后都不好使
开始时我配置⽂件中是这样写的:
#路径中注意⾸尾不要有空格
程序代码读出后拼接:
@Value("${fig-root}")
private String configRoot;
@Value("${fig-name}")
private String configName;
.....省略⽆关
public String getPath(){丁一宇资料
String configPath = figRoot + figName;
return configPath;
}
但运⾏jar后,直接FileNotFoundException了
八佰票房全球冠军
解决:
⽅案1:
主要是斜杠"\"和反斜杠"/"的问题,配置⽂件修改如下:
#路径中注意⾸尾不要有空格
⽅案2:
使⽤"File.spearator"拼接路径
@Value("${fig-root}")
private String configRoot;
@Value("${fig-name}")
private String configName;
.....省略⽆关心理学专业就业前景
public static <T> T readJsonFromClassPath(Type type) throws IOException {
//这⾥使⽤File.spearator拼接
ClassPathResource resource = new figRoot + File.spearator + figName); if (ists()) {
return JSON.InputStream(), StandardCharsets.UTF_8, type, .....
读取配置文件失败}
}
搞定!
发布评论