【问题标题】:ElasticBeanstalk issue reading resource path - Not FoundElasticBeanstalk 读取资源路径问题 - 未找到
【发布时间】:2021-02-28 03:17:37
【问题描述】:

我从 ElasticBeanstalk 日志中得到的错误是:

无法解析为绝对文件路径,因为它不驻留在文件系统中:jar:file:/var/app/current/application.jar!/BOOT-INF/classes!/keys/my-ssl.jks

我以这种方式请求文件:

@Value("${javax.net.ssl.trustStore}")
private Resource trustStore;

@Value("${javax.net.ssl.trustStorePassword}")
private char[] trustStorePassword;

@Value("${http.client.maxPoolSize}")
private Integer maxPoolSize;

我的 application.properties 看起来像:

javax.net.ssl.trustStore=classpath:keys/my-ssl.jks
javax.net.ssl.trustStorePassword=password
http.client.maxPoolSize=10

我的项目结构如下:

-src
 -main
  -resources
   -keys
    --my-ssl.jks

注意:这在本地完美运行,一旦部署到 EB 就无法找到 jks。

【问题讨论】:

  • 您能否通过 ssh 进入 EB 实例并从内部检查您的应用的组织方式?

标签: java spring spring-boot resources amazon-elastic-beanstalk


【解决方案1】:

通过将ClassLoaderInputStream 一起使用来解决,如下所示:

ClassLoader classLoaderKeyStore = Thread.currentThread().getContextClassLoader();
InputStream keyStreamKeyStore = classLoaderKeyStore.getResourceAsStream("keys/my-ssl.jks");

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多