Maven项目resource下JSON文件未复制到target文件夹引发异常求助
Maven项目resources目录文件未同步到target/classes解决方案
1. 确认资源目录标记正确
- 打开IntelliJ项目结构面板:快捷键
Ctrl+Alt+Shift+S,或右键项目根目录选择「Open Module Settings」 - 切换到Modules标签,选中当前项目的main模块
- 查看存放json文件的目录是否被标记为「Resources」类型(对应黄色文件夹图标),如果未标记,右键该目录选择「Mark as → Resources」即可
2. 调整pom.xml资源配置
Maven默认仅同步src/main/resources下的文件,如果你自定义了资源目录,或配置了过滤规则排除了json格式文件,需要修改pom.xml的build配置:
如果你的pom.xml中已经自定义了
<resources>节点,需要显式指定包含json格式,参考配置如下:
<build> <resources> <resource> <!-- 替换为你的实际资源目录路径 --> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>**/*.json</include> <include>**/*.properties</include> <include>**/*.xml</include> <!-- 其他需要同步的文件类型按需补充 --> </includes> <!-- 检查是否有<excludes>排除了json文件,如有则删除对应规则 --> </resource> </resources> </build>
3. 全量重建项目
- 执行Maven命令:先运行
mvn clean清空旧的target目录,再运行mvn compile完成编译和资源同步 - 也可以直接在IntelliJ中点击顶部菜单栏「Build → Rebuild Project」执行全量构建
4. 校验文件读取路径
你当前使用的读取代码是正确的,只需要确保传入的fileName参数是相对resources根目录的相对路径,无需加前缀/:
- 如果json文件直接放在resources根目录,参数写
"xxx.json" - 如果放在resources的子目录下,比如
resources/config/xxx.json,参数写"config/xxx.json"
内容的提问来源于stack exchange,提问作者Ashish Mathur
相关产品推荐
相关产品推荐

