【maven 打包时mapper.xml打不进去问题】别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述maven 打包时mapper.xml打不进去问题相关的知识,希望能为你提供帮助。
一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。
有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)。网络上有很多方法,我大概试了下,几种方法都可以,可以任选一种即可。
方法1,其中*/这样的写法,是为了保证各级子目录下的资源文件被打包。
xml代码
<
build>
<
finalName>
test<
/finalName>
<
!--
这样也可以把所有的xml文件,打包到相应位置。
<
resources>
<
resource>
<
directory>
src/main/resources<
/directory>
<
includes>
<
include>
/*.properties<
/include>
<
include>
*/.xml<
/include>
<
include>
/*.tld<
/include>
<
/includes>
<
filtering>
false<
/filtering>
<
--这里是false,用true会报 数据库连接 错误-->
<
/resource>
<
resource>
<
directory>
src/main/java<
/directory>
<
includes>
<
include>
/*.properties<
/include>
<
include>
*/.xml<
/include>
<
include>
/*.tld<
/include>
<
/includes>
<
filtering>
false<
/filtering>
<
/resource>
<
/resources>
<
/build>
方法2,利用build-helper-maven-plugin插件
<
build>
...
<
/plugins>
...
<
!--
此plugin可以用
利用此plugin,把源代码中的xml文件,
打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件
-->
<
plugin>
<
groupId>
org.codehaus.mojo<
/groupId>
<
artifactId>
build-helper-maven-plugin<
/artifactId>
<
version>
1.8<
/version>
<
executions>
<
execution>
<
id>
add-resource<
/id>
<
phase>
generate-resources<
/phase>
<
goals>
<
goal>
add-resource<
/goal>
<
/goals>
<
configuration>
<
resources>
<
resource>
<
directory>
src/main/java<
/directory>
<
includes>
<
include>
*/.xml<
/include>
<
/includes>
<
/resource>
<
/resources>
<
/configuration>
<
/execution>
<
/executions>
<
/plugin>
...
<
/plugins>
...
<
/build>
方法3,利用maven-resources-plugin插件
<
build>
...
<
/plugins>
...
<
!--
此plugin可以用
利用此plugin,把源代码中的xml文件,打包到相应位置,
这里主要是为了打包Mybatis的mapper.xml文件
-->
<
plugin>
<
artifactId>
maven-resources-plugin<
/artifactId>
<
version>
2.5<
/version>
<
executions>
<
execution>
<
id>
copy-xmls<
/id>
<
phase>
process-sources<
/phase>
<
goals>
<
goal>
copy-resources<
/goal>
<
/goals>
<
configuration>
<
outputDirectory>
${basedir}/target/classes<
/outputDirectory>
<
resources>
<
resource>
<
directory>
${basedir}/src/main/java<
/directory>
<
includes>
<
include>
*/.xml<
/include>
<
/includes>
<
/resource>
<
/resources>
<
/configuration>
<
/execution>
<
/executions>
<
/plugin>
...
<
/plugins>
...
<
/build>
推荐阅读
- uni-app上传图片(七牛云,app)
- uin-app保存图片到本地(app)
- badapple制作
- 观点(微信小程序是APP红利时代最明确的分水岭)
- 「网易官方」极客战记(codecombat)攻略-网页开发2-消失活动-disappearing-act
- Appium自动化 - 可定位的控件属性
- appium自动识别兼容的chromedriver
- win7系统之家安装图文详细教程
- 超级详细的win7 64位旗舰版安装过程