我使用spring boot创建了一个java微服务。该应用程序需要一些静态xml文件中的数据(保存在一个文件夹中,让它命名为X)在src / main / resources文件夹中。(我使用的是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")
但它没有用。它无法在运行时找到路径。
答案 0 :(得分:0)
为什么不试试Apache Abdera。 您的XML是从API获得的。
另一种方式,顺便说一句。
答案 1 :(得分:0)
在您的主类(通常是Application.java)中,在类级别添加@ImportResource
注释。
示例:@ImportResource("classpath:myfile.xml")