标签: maven

Maven快速构建springmvc+mybatis项目

1. git clone https://github.com/chinageek/maven-archetype-templates.git

2. cd git/maven-archetype-templates/quickstart-springmvc-mybatis

3. mvn clean

4. mvn archetype:create-from-project

5. cd target/generated-sources/archetype

6. mvn clean install

7. mvn archetype:generate

8. Enjoy :-)

idea解决Maven包依赖冲突

项目开发过程中经常会遇到包依赖冲突的问题, 每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,因而可能造成一个我们不想要的类包的载入,严重的就会引起类包之间的冲突。

要解决这个问题,首先就是要查看pom.xml显式和隐式的依赖类包,然后通过这个类包树找出我们不想要的依赖类包,手工将其排除在外就可以了。

打开pom.xml,通过右键菜单:maven->show dependency 打开分析的图形化页面,如下所示:

tree

 

通过这个依赖树,我们还可以看到哪些包被间接载入了,找到需要排除的包,右键选着exclude即解决这个间接依赖。

maven中的dependencyManagement与dependencies关系

dependencyManagement 中的 dependencies 元素只表明依赖项版本的优先选择,并不影响项目的依赖项。所以Parent POM的有dependencyManagement 中的 dependencies 元素不会自动的加到child的dependencies 列表里。只有child里有同样的dependencies 时,才会被parent中dependencyManagement 中的 dependencies 元素所影响(主要是版本信息)。

maven中jar包冲突的解决办法

把冲突的jar包exclusion即可

[xhtml]<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.5.ga</version>
<exclusions>
<exclusion>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
</exclusion>
</exclusions>
</dependency> [/xhtml]