You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven构建项目时MyBatis的Mapper.xml未导出,需如何配置解决?

解决Maven构建时MyBatis XML映射文件未导出的问题

问题原因

Maven默认仅会将src/main/resources目录下的资源文件打包到classpath,src/main/java目录下只有.java文件会被编译,像MyBatis XML映射文件这类非Java文件不会自动复制到target目录的对应位置,导致运行时找不到映射文件。

解决方案

你需要修改pom.xml的构建配置,让Maven把src/main/java下的XML文件也打包到classpath里,有两种可选方式:

方式一:添加全局资源配置

在<build>标签下直接添加<resources>节点,覆盖默认的资源处理规则:

<build>
    <!-- 新增资源配置 -->
    <resources>
        <!-- 包含src/main/java下的所有XML文件 -->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <!-- 保留src/main/resources下的默认资源文件 -->
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>

    <!-- 原有的plugins配置保持不变 -->
    <plugins>
        <!-- ... 你的插件代码 ... -->
    </plugins>
</build>

方式二:修改maven-resources-plugin配置

调整你已有的maven-resources-plugin,添加资源包含规则:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </configuration>
</plugin>

验证

配置完成后,执行mvn clean package重新构建项目,此时MyBatis的XML映射文件会自动被复制到target目录的对应包路径下,无需手动复制即可正常运行。

内容的提问来源于stack exchange,提问作者Guilherme Dambros

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:30:47