我使用spring引导创建了一个java微服务。该应用程序需要从静态XML文件中的某些数据(文件夹中保存在一起,让我们将其命名为X)中的src/main /资源文件夹中。(我用STS IDE) 当我在IDE本身运行它,它工作正常。 现在,当我收拾它在一个罐子并尝试使用CLI(Java的罐子jarFileName.jar)运行它,它的工作原理,并从目标/ classes文件夹访问该文件夹X。在部署在关键云代工厂之后访问资源文件,如jar中的xml
现在我的问题是,当我尝试使用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")
,但没有奏效。在运行时无法找到路径。
您所要求的是云本机开发的反模式。 请查看https://12factor.net/ –
尝试使用[Spring Cloud Config Server](https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html ) –
在运行时你想加载你的XML文件,然后请检查出答案。 –