在 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
我正在构建一个 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