maven项目,去除jar包中的不想要的依赖关系

 

解释:就是说项目中要用到某一个a.jar包,经过maven引入了以后,也自动的导入了该jar包所依赖的包,这里就会存在一个问题,若是a.jar包依赖b.jar这个项目的1.0版本,但是个人项目中已经有b.jar这个项目2.0的版本了,这里就会形成冲突,解决的办法是去除a.jar包依赖b.jar这个项目的1.0版本的依赖关系,让项目使用我已有的包。java

 

 

最近搭一个springmvc4.x的maven环境,因为要用到webserice,打算整合jersey作,在导入jersey-spring.jar时出现了这样的问题,我用的是jersey-spring1.81.jar版本,该项目依赖的是spring3,因此把jersey-spring1.81.jar加入maven或就出现了这样的状况,因为它依赖spring3.x,因此自动导入了spring3.x的jar,并把我spring4.x的包自动删除了,致使spring4.x根本没法构建,但是我已经有4.x的包,彻底不须要它自动导入3的包删除4的包啊web

 

解决版本:spring

去除jersey-spring1.81.jar原有的依赖,这样就不会自动去导spring3的包了,而是使用我已有的spring4的包,mvc

同理,之后遇到相似的问题也能够这么解决,规则是在要导入的包中加一个去除原有依赖的标签,标签内写想去除的包的id和版本。maven

 

 

 

贴上解决代码spa

---------------------------------------------------------------------------code

 

		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-spring</artifactId>
			<version>1.18.1</version>
			<!-- 去除自带的spring版本 -->
            		<exclusions>
                		<exclusion>
                    			<groupId>org.springframework</groupId>
                    			<artifactId>spring-aop</artifactId>
                		</exclusion>
                		<exclusion>
                    			<groupId>org.springframework</groupId>
                    			<artifactId>spring-context</artifactId>
                		</exclusion>
                		<exclusion>
                    			<groupId>org.springframework</groupId>
                    			<artifactId>spring-beans</artifactId>
                		</exclusion>
                		<exclusion>
                    			<groupId>org.springframework</groupId>
                    			<artifactId>spring-core</artifactId>
                		</exclusion>
                		<exclusion>
                    			<artifactId>spring-web</artifactId>
                    			<groupId>org.springframework</groupId>
                		</exclusion>
            		</exclusions>
		</dependency>
相关文章
相关标签/搜索