首先war打完之后你可以用解压软件看看里面的文件结构,和工程是不一样的。没有src/main/这一层。因此如果要满足你的使用相对路径要求,又要通用,只有两个方法。
1、在项目下重新建一个resource资源包,配置文件放在里面,然后根据resource相对路径读取
2、变更项目打包结构,打包输出时把src/main/这层加上
总之这两个方法的目的都是为了让war包结构和你工程一致。
我的读取配置文件方法如下,你可以参考下。文件路径:
String path = nulltry {
path = SellerProductController.class.getClassLoader()
.getResource("").toURI().getPath()
log.info("获取到配置文件瞎庆的路径为:" + path)
} catch (URISyntaxException e) {
log.error("获取配置文件路径出现异常," + e.getMessage())
}
// 把文件读入文件输入流,存入内存中
FileInputStream fis = null
try {
fis = new FileInputStream(new File(path + "isa_addr.json"))
} catch (FileNotFoundException e) {
log.error("读取配置文件出现异常," + e.getMessage())
}
// 设置response的字符集为项目指定字符集
response.setCharacterEncoding("UTF-8")
// 创建输出流对象
PrintWriter out = null
try {
out = response.getWriter()
} catch (IOException e) {
log.error("创建输出流对象失败:" + e.getMessage())
磨铅握 }
String res = this.ReadFile(fis)
log.debug("最终激谈获得的Json串为:" + res)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)