Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 部署到pivotal cloud foundry后,访问jar中的xml等资源文件_Java_Maven_Spring Boot_Jar_Cloud Foundry - Fatal编程技术网

Java 部署到pivotal cloud foundry后,访问jar中的xml等资源文件

Java 部署到pivotal cloud foundry后,访问jar中的xml等资源文件,java,maven,spring-boot,jar,cloud-foundry,Java,Maven,Spring Boot,Jar,Cloud Foundry,我使用SpringBoot创建了一个java微服务。该应用程序需要src/main/resources文件夹中静态xml文件(保存在一个文件夹中,命名为X)中的一些数据 当我在IDE中运行它时,它工作得很好。 现在,当我将它打包到一个jar中并尝试使用CLI(java-jar jarFileName.jar)运行它时,它可以工作并从target/classes文件夹访问文件夹X 现在我的问题是,当我尝试使用CLI或STS插件在Pivotal Cloud Foundry上部署这个小应用程序时,我必

我使用SpringBoot创建了一个java微服务。该应用程序需要src/main/resources文件夹中静态xml文件(保存在一个文件夹中,命名为X)中的一些数据 当我在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")

但它不起作用。运行时找不到路径。

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

另外,顺便说一句,

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

您要求的是针对云本机开发的反模式。请检查并尝试使用类似于在运行时加载xml文件的方法,然后请检查答案。