`

关于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是通过注释一一去排查,有没有什么更方便快捷的解决方案。?

分享到:
评论

相关推荐

    清理不完整jar包脚本.zip

    1.针对maven仓库下载不完整的jar包 ,制作而成的清理脚本,可用于清理本地或服务器,帮助快速查找不完整jar包,解决maven 报错 2.使用:bat文件中 REPOSITORY_PATH= 后面填写清理的maven仓库的地址。 3.运行bat文件...

    maven的优缺点 项目

    Maven-clean:会把项目中的class文件和jar包war包删除 Maven-test:运行所的测试类,取决于位置,必须放到src/test下面;在运行的(install)跳过,运行的时候会执行一遍测试类(花的时间长) 4.创建一个标准的ssm项目 ...

    java加载maven

    这会导致每创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区存在大量重复的文件;  ③、jar需要我们手动去官网上或者其他途径下载;  ④、一个 jar 包依赖的其他 jar 包,需要自己手动加入...

    maven window下安装包

    第14章:灵活的构建/14.2 Maven属性的使用/14.2.1 直接在POM文件中使用 第14章:灵活的构建/14.2 Maven属性的使用/14.2.2 使用注解:Parameter 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.1 ...

    springcloud

    Spring Cloud云架构使用maven来构建,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核心作用,那就是将整个项目按照模块化的方式进行划分,业务与业务之间解耦,然后将模块化的业务再进行服务化或者组件...

    SpringSecurity.zip

    解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。 ​ Spring Security:spring家族一员。是一个能够为基于...

    springboot参考指南

    在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. 23.7.1. 第三方配置 ii. 23.7.2. 松散的绑定(Relaxed binding) iii. 23.7.3. @...

    Android插件

    在java 6 7中使用 lambda表达式插件 修改编译的jdk为java8: 31.Android Studio Prettify 可以将代码中的字符串写在string.xml文件中 这个插件还可以自动书写findViewById 32.Material Theme UI 添加...

    idea使用教程2017-06-01.pdf

    涵盖安装、配置、常见问题&技巧、Maven、Git、Tomcat、快捷键、项目配置等. 入门................................................................................................................................

    IDEA 教程 2017

    Maven 专题.......................................................................................................................................60 配置...................................................

Global site tag (gtag.js) - Google Analytics