【发布时间】:2016-01-30 12:01:31
【问题描述】:
我正在为我的应用程序使用 Spring boot 1.2.7,作为要求,我必须从类路径加载 SSL 证书。因此,我在类路径中添加了我的 PKCS12 文件并使用以下代码(在 AppInitializer 类中加载它:
final String sslKeystoreFilepath = this.getClass().getClassLoader().getResource(sslKeystoreFilename).getFile();
我在这里注意到两件事:
字符串中包含
file:。如果我使用main方法通过一个普通的独立程序运行相同的代码,我看不到像file:这样的任何东西。当我运行 Spring boot 应用程序(使用生成的 fat jar)时,它会抛出异常:
SEVERE: Failed to load keystore type PKCS12 with path /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 due to /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 (No such file or directory)
java.io.FileNotFoundException: /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 (No such file or directory)
我做错了什么?
【问题讨论】:
-
如何将文件添加到类路径中?
-
将文件放到
src/main/resources中,该文件将被捆绑在 JAR 文件中。我在这里做错什么了吗?请建议是否有其他方法。
标签: java spring-boot ssl-certificate