【发布时间】:2019-08-12 18:17:52
【问题描述】:
当文件明显存在于 jar 中时,我收到 FileNotFoundException。为什么会这样?
java.io.FileNotFoundException: file:/Users/serviceuser/project/coolApp/target/coolApp-1.0-SNAPSHOT.jar!/BOOT-INF/classes!/ssl_certs/mysslstore.jks (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method) ~[na:na]
at java.base/java.io.FileInputStream.open(FileInputStream.java:219) ~[na:na]
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) ~[na:na]
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112) ~[na:na]
但是,我看到文件打包在 jar 中。
jar -tf coolApp-1.0-SNAPSHOT.jar | grep ssl
编辑 我按以下方式加载文件
new FileInputStream(CoolApp.class.getClassLoader().getResource("ssl_certs/mysslstore.jks").getFile())
【问题讨论】:
-
jar 内的文件不是传统文件路径目录结构的一部分。您需要以流的形式获取资源。
-
@Compass 我如上加载了文件
-
我认为这是认证问题。
-
@LovaChittumuri 这不是认证问题。它是 FileNotFoundException
-
好的.. 感谢您的确认。
标签: java maven spring-boot