背景
springboot項目下netty應用證書,需要加載證書文件。在idea中正常運行,但是打包成jar包卻報錯,提示找不到文件。說來慚愧,這個問題搞了一上午(雖說有其他問題干擾)但是也覺得尷尬。。。遂記錄之
原因分析
初始使用的是getFile(),由於打包成jar后。這個絕對路徑實際是不存在的。
InputStream is=new FileInputStream( (new ClassPathResource("certs/clientCerts.jks")).getFile() );
解決方案
采用流的方式,使用getInputStream()
InputStream is=new ClassPathResource("certs/clientCerts.jks").getInputStream();