Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
如何在部署到Elastic Beanstalk的Spring启动项目中查找资源文件?_Spring_Amazon Web Services_Spring Boot_Amazon Ec2_Amazon Elastic Beanstalk - Fatal编程技术网

如何在部署到Elastic Beanstalk的Spring启动项目中查找资源文件?

如何在部署到Elastic Beanstalk的Spring启动项目中查找资源文件?,spring,amazon-web-services,spring-boot,amazon-ec2,amazon-elastic-beanstalk,Spring,Amazon Web Services,Spring Boot,Amazon Ec2,Amazon Elastic Beanstalk,我的Spring启动项目在src/main/resources文件夹中包含一个XML文件,这是此类文件的公共位置 在本地和Pivotal CloudFoundary上运行时,我能够找到文件并将其读入,但在Beanstalk上,该过程会生成一个空文件 查找和读取文件的代码: URL url = getClass().getResource("/myFile.xml"); LOG.info("File location: " + url.toString()); 生成的日志条目: File loc

我的Spring启动项目在src/main/resources文件夹中包含一个XML文件,这是此类文件的公共位置

在本地和Pivotal CloudFoundary上运行时,我能够找到文件并将其读入,但在Beanstalk上,该过程会生成一个空文件

查找和读取文件的代码:

URL url = getClass().getResource("/myFile.xml");
LOG.info("File location: " + url.toString());
生成的日志条目:

File location: jar:file:/var/app/current/application.jar!/WEB-INF/classes!/myFile.xml
当我SSH到EC2实例中时,我可以在指定的目录中找到jar

我是否需要配置Maven以将此文件移动到某个位置

更新

后来我意识到,我需要将这个文件当作InputStream中的文件,因为它打包在jar中

我现在使用以下代码,导致以下错误:

FileUtils.copyInputStreamToFile(new ClassPathResource("myFile.xml").getInputStream(), myFile);

java.lang.NullPointerException: null
at org.apache.commons.io.FileUtils.openOutputStream(FileUtils.java:345) ~[commons-io-2.5.jar:2.5]


谢谢

您的pom.xml看起来怎么样?可能有一个资源过滤器处于活动状态? 在spring应用程序中,可以使用
File File=ResourceUtils.getFile(“classpath:myFile.xml”)
读取资源文件

您可以使用
ResourceUtils
检查结果吗

此处是api文档的链接:

FileUtils.copyInputStreamToFile(new ClassPathResource("classpath:myFile.xml").getInputStream(), myFile);


java.io.FileNotFoundException: class path resource [classpath:myFile.xml] cannot be opened because it does not exist