SpringBoot部署后文件找不到的问题
项目引用了一个xml作为模板
本地访问文件的时候使用的方式比较直接
Document document = reader.read(ResourceUtils.getURL("classpath:").getPath() + "xmlTemplate.xml");
直接访问classpath下的xmlTemplate,这种方式在本地运行的时候能取到文件,但是项目在打包再发布以后,问题就出来了…
解决办法1 失败
。。
在pom中的build中 直接配置resources
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
这个配置的作用是告诉maven哪些文件需要被打进包里。
这时我看了一眼打好的jar包,确实里面是有我的文件的,但是此时代码报错 找不到文件。
解决办法 2
换一种取文件的方式,因为已经确定打好的包中是有文件的
新的方式
ClassPathResource resource = new ClassPathResource("xmlTemplate.xml");
Document document = reader.read(resource.getInputStream());
解决了..