在 Maven pom.xml 中,如何指定我要将“.xml”文件复制到我的目标文件夹中?

In maven pom.xml, how to specify that I want to copy a ".xml" file into my target folder?

我正在构建一个 mybatis 项目,在我的 src/main/java 下我有这样的文件夹结构:

java
--mypackage
    --beans
        UserBean.java
    --mapper
        UserMapper.java
        UserMapper.xml
    --service
        UserMapperServer.java
--resources

当我 运行 "mvn compile" 时,java 文件将被编译到 "target/classes" 文件夹中,但我的 "UserMapper.xml" 文件不会自动复制到 "target/classes/mypackage/mapper" 文件夹,所以程序将无法 start/debug.

如果我将文件移动到 "resources" 文件夹,然后 "mvn compile" 将其复制到 "target/classes" 文件夹,而不是 "target/classes/mypackage/mapper" 文件夹,仍然无法 run/start.

所以我的问题是,在 "pom.xml" 如何指定我需要的 "copy" 文件指令?

非常感谢。

Maven 约定建议将源代码放入 src/main/resources 文件夹

在这种情况下,maven 会自动将它们挑选到 jar 中,不需要为此使用 src/main/java

现在,resources文件夹也可以有内部文件夹

因此,您的布局应该是(以符合 maven 约定):

java
--mypackage
    --beans
        UserBean.java
    --mapper
        UserMapper.java         
    --service
        UserMapperServer.java
--resources
resources
--mypackage
    --mapper
         UserMapper.xml