【问题标题】:Access resource files like xml inside jar after deployed on pivotal cloud foundry在部署到关键云代工厂后访问 jar 内的 xml 等资源文件
【发布时间】:2018-03-04 14:14:13
【问题描述】:

我使用 spring boot 创建了一个 java 微服务。该应用程序需要来自 src/main/resources 文件夹中的静态 xml 文件的一些数据(一起保存在一个文件夹中,我们将其命名为 X)。(我正在使用 STS IDE) 当我在 IDE 本身中运行它时,它工作正常。 现在,当我将它打包到 jar 中并尝试使用 CLI (java -jar jarFileName.jar) 运行它时,它可以工作并从 target/classes 文件夹访问文件夹 X。

现在我的问题是,当我尝试使用 CLI 或 STS 插件在 Pivotal Cloud Foundry 上部署这个小应用程序时,我必须提供 jar 文件的路径,以便它只上传相应的 jar 文件并启动容器应用程序。 但应用程序无法访问包含其资源的文件夹 X

虽然我确认 jar 文件包含 BOOT-INF/classes 中的文件夹 X,但它会尝试在自己的路径上找到文件夹 X - 而不是在其内部。

有谁知道部署在 PCF 上的 jar 文件如何访问其内部保存的资源。

我尝试过使用

InputStream is = this.getClass().getClassLoader().getResourceAsStream("X/abc.xml")

但它没有用。运行时找不到路径。

【问题讨论】:

标签: java maven spring-boot jar cloud-foundry


【解决方案1】:

为什么不试试 Apache Abdera。 您的 XML 是从 API 获取的。

只是另一种方式,顺便说一句。

【讨论】:

    【解决方案2】:

    在您的主类(通常是 Application.java)中,在类级别添加 @ImportResource 注释。 示例:@ImportResource("classpath:myfile.xml")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-06
      • 2016-03-12
      • 2023-03-17
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多