关于maven使用中重复jar包问题解决

        这个问题很尴尬,一开始以为*.pom文件中配置的

<dependencies>

     <dependency>

     </dependency>

</dependencies>

就是所要下载和导入的jar包以及对maven了解的不多。

出现问题是因为这样的一个例子

在*.pom文件中已经有了:

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.2</version>
</dependency>

slf4j的一个jar包。

同时还有一个:

<dependency>
<groupId>displaytag</groupId>
<artifactId>displaytag</artifactId>
<version>1.2</version>
</dependency>

的一个jar包。源都是在 search.maven.org中搜索的。

       在后者的包中还存在了一个poslf4j 1.4.2版本的一个jar包。这样就导致了有重复的jar包,致使启动时出现了找不到类似slf4j.jar的异常,由于有2个,系统不知道该如何选择,所以还是提示说找不到。

之前的解决方法都是用工程的build path 删除那个1.4.2的jar包。

但是每次又从svn下载下来的时候或者用maven更新jar包后还是会出现如上的问题。

然后就想这个问题一定也常见,就百度一下。

解决方案如下:

<dependency>
	<groupId>displaytag</groupId>
		<artifactId>displaytag</artifactId>
		<version>1.2</version>
		<exclusions>
			<exclusion>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl104-over-slf4j</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
			</exclusion>
		</exclusions>
</dependency>

 在其中添加<exclusions><exclusion></exclusion></exclusions>即可排除重复的jar包。百度还说这个slf4j包在很多SSH中很多都包含,如果版本控制不好,则会出现如下问题。当然在search.maven.org中去搜索的jar也有一定的问题,选择还说靠经验。

       最后有个疑问想请大神给个答案!!!!毕竟我找这个重复的jar是通过注释一一去排查,有没有什么更方便快捷的解决方案。?

猜你喜欢

转载自dreammoon.iteye.com/blog/2222905