关于Maven
本帖最后由 jinsong1213 于 2013-12-11 15:01:58 编辑
有个依赖如下:
<dependency>
<groupId>com.opensymphony</groupId>
<artifactId>xwork-core</artifactId>
<version>2.1.6</version>
</dependency>
这一个依赖导致引入了多个下级依赖,并且下级依赖又引入了多个依赖。如图:
问题:如果项目需要的依赖特多的话,导致依赖的jar就有可能重复,尤其是什么SSH之类的。
请问诸位大牛是怎么解决这个问题的?
谢谢
------解决方案--------------------结合我用maven整合ssh的经历来看 这个是难免的 而且通过maven引入的包你是不能在buildpath中手动remove的 但是你可以找出冲突的包,它被哪些包所依赖了。然后用exclude的方式将其中一个冲突的包给去掉 比如
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.2.1.ga</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
</exclusions>
</dependency>
在别的包中如果你发现也依赖javax.transaction这个包了 那你可以通过这种方式让hibernate-entitymanager这个包不将它所依赖的包给导入