当前位置:首页 > 开发 > 编程语言 > 持续集成 > 正文

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

发表于: 2015-06-30   作者:li370604005   来源:转载   浏览次数:
摘要:         这个问题很尴尬,一开始以为*.pom文件中配置的 <dependencies>      <dependency>      </dependency> </dependencies> 就是所要下载和导入的jar包以及对mav

        这个问题很尴尬,一开始以为*.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是通过注释一一去排查,有没有什么更方便快捷的解决方案。?

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
我们经常遇到一个需求,就是给别人使用我们工程的时候,为了能够屏蔽代码,把代码封装成jar包提供给
在Eclipse中创建Eclipse项目后我们如何添加jar包呢? 点击pom.xml文件.我们可以看到下面有7个标签。
酒店项目依赖于 一个 框架的 项目, Jar 包依赖 。 但是,有些时候,需要察看所调用类的源码, 就必
Maven作为目前Java界最好的Dependency管理系统,把jar包托管到Maven中央库,然后通过Maven Dependenc
如何使用maven 打包源代码呢? 方式一: 打开cmd命令行,进入项目所在路径,运行 mvn source:jar 方
Maven作为目前Java界最好的Dependency管理系统,把jar包托管到Maven中央库,然后通过Maven Dependenc
如何使用maven 打包源代码呢? 方式一: 打开cmd命令行,进入项目所在路径,运行 mvn source:jar 方
Maven作为目前Java界最好的Dependency管理系统,把jar包托管到Maven中央库,然后通过Maven Dependen
Maven作为目前Java界最好的Dependency管理系统,把jar包托管到Maven中央库,然后通过Maven Dependen
打开:http://mvnrepository.com/ 搜索:hibernate 或者:http://search.maven.org 搜索:hibernate-co
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号