SpringBoot 启动/打包项目时,Target目录(打包)不存在recourse下的任何文件(已解决)
解决方案(自身实际遇到,不代表绝对):
1.如果是多个模块,找到主pom.xml
;单个模块(只有一个pom.xml
),则看pom.xml
查看是否在build
模块下存在resources
模块,如果存在,确认resource
标签是否存在两个,=如果不存在请补充上,内容如下:
<resources>
<resource>
<directory>src/main/resources</directory>
<!--开启过滤,用指定的参数替换directory下的文件中的参数 用于通过maven控制本地启动项目时的环境,具体可看:https://blog.youkuaiyun.com/zhangruilinmoo/article/details/129744532-->
<filtering>true</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<filtering>true</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
=添加完上面后,打包时,target
目录下就有recourses
下的相关文件,但如果recourses
下存在一些类似excel格式文件,即需要在项目中通过流的形式读取内容或需要保证打开可以查看,会发现 打开工具 会报文件已损坏无法查看的问题,则是需要走步骤2,博主这里是通过模板excel实现复杂导出作为实际案例
2.在build
模块中 新增一个plugin
,用于解决文件后缀名是configuration下的列表时,打包和编译不压缩,而是保存原样(默认是所有文件都会压缩)
<!-- 解决文件后缀名是configuration下的列表时,打包和编译不压缩,而是保存原样 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
完成上面两步,即可在启动项目生成的target
目录下看到文件并可以正常打开阅览文件内容