问题描述
在开发过程中使用绝对路径访问ca证书文件,结果打成jar包后,发生了 no such file or dictionary 的异常
解决方法
使用
String certPath = this.getClass().getResource("/${name}").getPath();
java中jar包内的类访问jar包内部的资源文件的路径问题
来获取路径时,得到的路径是
!BOOT-INF/Classes!/${
name}
仍然会造成找不到文件的问题
出现!BOOT-INF/Classes!/${name}路径的解释
以流(stream)的方式读取资源,然后用于创建SSLContext 对象,才解决
public SSLContext doCustom(InputStream ins,String keyStorepass){
SSLContext sc = null;
KeyStore trustStore = null;
try {
trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(ins, keyStorepass.toCharArray(