1.遇到的主要问题
- 构建一个Maven项目时,无法将resources文件夹中的资源文件打包进构建后的目录中,具体情况如下图左边两子图。
可见,虽然已将源码中的resources文件夹Mark Directory As Resources Root,但是构建出的target文件夹中并没有resources文件夹下的内容,导致后续在Java文件中读取资源文件找不到(开始一直认为是读取的路径配置不正确,因为读取资源文件的API使用的不是JDK中的API而是第三方库,所以一直纠结是不是第三方库API读取资源文件时的默认位置没指定正确,去查阅API文档花费了一定时间,后来确认第三方库读取位置没问题后才发现是资源文件根本没有被打包进编译后的项目中,也就是说其实是项目构建阶段出了问题,而不是代码运行阶段出的问题)。
2.问题分析与解决方案
既然找到了问题所在,那么就要解决这个构建阶段的问题,需要想办法让IDEA把resources文件夹下的内容打包进去,在项目配置中翻阅了可配置的属性,发现除了将resources文件夹Mark Directory As Resources Root以外竟然别无他法,然而这波操作是无效的,还是打包不进去,这里如果有读者知道其他的额外配置方法还请评论告知,非常感谢!
后来一直调试了许久依旧不能解决,想着把项目从实验室拷贝回去再继续研究,到另一台电脑上用IDEA导入项目后直接构建,发现问题居然消失了!!资源文件被成功打包进去了,于是思考这是为什么,在将两台电脑上的项目配置与目录结构进行仔细对比之后终于发现了问题所在,关键就在于上图所示的蓝色方框与红色方框中的区别,红色方框内是Maven项目的符号,在新的电脑上导入项目时IDEA进行了Maven项目的检查,将其识别为了Mav