1. Maven打包后的war文件没有包含ibatis的XML文件
解决方式一(我使用的):
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
解决方式二:
在pom文件里面加上下面这段
不然的话只会打包java文件
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/.svn/*</exclude>
</excludes>
</resource>
</resources>
</build>
2. 利用maven插件的机制将资源文件打到classes目录下
<resources>
<resource>
<directory>src/main/resources</directory>
<!--打包时排除资源文件-->
<excludes>
<exclude>*.*</exclude>
</excludes>
</resource>
</resources>
<!--必须配置测试资源文件,否则测试类无法加载资源文件-->
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!--将类文件打成war包-->
<archiveClasses>true</archiveClasses>
<!--将资源文件打到classes目录下-->
<webResources>
<resource>
<directory>src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
<resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
3.maven工程调用别人生成的jar包
(1)关于要调用jar包中的依赖
方式一:在打包时通过配置直接将jar包所调用的依赖包含进去
方式二:为了解决方式一会引入重复jar包的缺陷,可以将被调用jar包中的pom.xml和主调用工程中的pom.xml进行手工融合。
(2)被调用jar包中的日志输出会按照主调用工程中的日志输出配置来
4.常用maven命令
(1)在pom.xml文件的目录下使用mvn dependency:tree命令可以查看jar包的传递依赖。
使用-Dverbose 参数可以列出更详细的信息。
mvn -Dverbose dependency:tree
(2)maven工程加依赖时 对于无法再mvnrepository中找到的jar包,需要手工将相应jar包加到本地maven库中:进入需要添加的jar包(这里是ibatis.jar)的目录,执行命令
mvn install:install-file -DgroupId=com.ibatis -DartifactId=ibatis -Dversion=1.0 -Dpackaging=jar -Dfile=ibatis.jar -DgeneratePom=true
(3)maven打包
mvn clean package