maven項目,去除jar包中的不想要的依賴關系


 

解釋:就是說項目中要用到某一個a.jar包,通過maven引入了之后,也自動的導入了該jar包所依賴的包,這里就會存在一個問題,如果a.jar包依賴b.jar這個項目的1.0版本,可是我的項目中已經有b.jar這個項目2.0的版本了,這里就會造成沖突,解決的辦法是去除a.jar包依賴b.jar這個項目的1.0版本的依賴關系,讓項目使用我已有的包。

 

 

最近搭一個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的包啊

 

解決版本:

去除jersey-spring1.81.jar原有的依賴,這樣就不會自動去導spring3的包了,而是使用我已有的spring4的包,

同理,以后遇到類似的問題也可以這么解決,規則是在要導入的包中加一個去除原有依賴的標簽,標簽內寫想去除的包的id和版本。

 

 

 

貼上解決代碼

---------------------------------------------------------------------------

 

		<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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM