spring boot 启动异常:找不到 jks 文件
问题描述:
在启动 spring boot 应用时遇到如下异常:
failed to initialize end-point resource cache
问题详情:
该问题之前未出现过,打包时也没有报错。应用的 yml 配置文件如下:
# 配置 jks 存放位置 server.ssl.key-store=classpath:xxx.jks # https 端口号 server.port=8090 # 是否启用 SSL 证书 server.ssl.enabled=true # 密钥库密码 server.ssl.key-store-password=jks 密码 # 密钥库类型 (JKS 类型) server.ssl.key-store-type=JKS
解决方案:
根据报错信息,可以推断出问题是由于内置的 tomcat 找不到 jks 文件造成的。jks 文件通常用于配置 https,因此检查配置中是否有引用 jks 文件的设置。
在给定的 yml 配置中,有几处引用了 jks 文件:
- server.ssl.key-store=classpath:xxx.jks
- server.ssl.key-store-password=jks 密码
- server.ssl.key-store-type=jks
这表明 spring boot 尝试从 classpath 中加载名为 “xxx.jks” 的文件作为 key store。如果找不到此文件,则会引发异常。
为了解决此问题,请检查是否有实际的 “xxx.jks” 文件位于项目的 classpath 中。如果找不到,请确保 https 证书提供商提供了正确的证书,并将其转换为 jks 文件。