You need to enable JavaScript to run this app. Maven项目resource下JSON文件未复制到target文件夹引发异常求助
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 22:45:01