java - Spring Boot 2.1.2 的属性文件中的空格问题
问题描述
在我将 Spring Boot 版本从 2.0.2 更新到 2.1.2 并将 tomcat 从 9.0.7 更新到 9.0.14 之后,我开始遇到读取密钥库的问题。
一切都运行良好。现在我收到以下错误:
Caused by: java.io.IOException: Failed to load keystore type [PKCS12 ] with path [jar:file:/home/landing/landing.jar!/BOOT-INF/classes!/keystore.p12] due to [PKCS12 not found]
到目前为止,我注意到有一个感叹号,我认为它不应该出现在文件名之前。配置如下,实际文件在 Jar 文件中。
server.ssl.key-store=classpath:keystore.p12
除了回到以前的版本之外,还有什么想法吗?
编辑:我已经回滚到 Spring Boot 2.0.3。问题从 2.0.4 及更高版本开始发生。它与Tomcat无关。
编辑 2:我使用的是 Java 8,它可能与添加对其他 Java 版本的支持有关。
解决方案
在 dave_thompson_085 的帮助下(谢谢!!!!!!)我能够解决它。
显然,2.0.3 版和 2.0.4 版之间在处理属性文件中的空格方面发生了变化。
到 2.0.3 我认为空间被修剪了。
从 2.0.4 开始,Spring 停止修剪空格并将它们作为值的一部分读取。
2 个字段中有空格导致 Spring 抛出奇怪的错误。
推荐阅读
- google-bigquery - 对数组求和页面浏览量
- spring-data-jdbc - Spring Data JDBC 是否支持继承
- c# - .NET Core 中的 Windows 身份验证在 Chrome 中不显示提示
- sql - 将相同的金额组合在一起,但在不同的列中找到不同的金额
- tensorflow - 无法使用 RectifiedAdam 优化器加载 Keras 模型
- android - ReactNative 使用 Android Studio 添加 Gradle 依赖
- statistics - 对变量的每个类别分别运行分析
- javascript - 如何映射函数和文本 ReactJs
- reactjs - 如何在 Redux 中制作受控输入组件?
- bower - bash: bower: NVM 找不到命令