關(guān)于Maven依賴沖突解決之exclusions_第1頁
關(guān)于Maven依賴沖突解決之exclusions_第2頁
關(guān)于Maven依賴沖突解決之exclusions_第3頁
關(guān)于Maven依賴沖突解決之exclusions_第4頁
關(guān)于Maven依賴沖突解決之exclusions_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第關(guān)于Maven依賴沖突解決之exclusions目錄Maven依賴沖突解決之exclusions1.背景2.解決方式場景解決方式Maven解決依賴沖突總結(jié)實例分析解決辦法命令分析小試牛刀

Maven依賴沖突解決之exclusions

1.背景

作為java生態(tài)下開發(fā)者,往往需要使用大量線程的第三方庫,一般都是以jar包形式存在。

maven作為事實上主流的jar包依賴管理工具,Idea和Eclipse都支持創(chuàng)建maven工程來管理jar包依賴。

使用maven進(jìn)行jar包依賴管理時,maven會自行管理jar包及其依賴鏈條,但往往會遇到依賴沖突問題,這時候就可以嘗試使用exclusion來進(jìn)行依賴管理。

2.解決方式

場景

假如hadoop集群中hadoop版本是3.2.1,這時候為了保證程序能夠順利操作hadoop,需要引入hadoop-client的3.2.1版本。但這里也可以看到,spark-core_2.12內(nèi)部也有對hadoop-client的依賴,而且版本是低版本的2.7.4,這時候往往就會產(chǎn)生沖突或者未知錯誤。所以需要使用exclusions做依賴排除。

解決方式

使用exclusions來對某一個第三方庫引入的依賴jar包做排除

dependency

groupIdorg.apache.spark/groupId

artifactIdspark-core_2.12/artifactId

version${spark.version}/version

exclusions

exclusion

groupIdorg.apache.hadoop/groupId

artifactIdhadoop-client/artifactId

/exclusion

exclusion

groupIdcom.google.guava/groupId

artifactIdguava/artifactId

/exclusion

/exclusions

/dependency

Maven解決依賴沖突總結(jié)

如果存在jar包的依賴沖突,在項目啟動時總是報類似這樣的錯:NoSuchMethodError、ClassNotFoundException、成員變量找不到等等。真的很讓人不好受。

Maven采用的是“最近獲勝的策略”來處理依賴的沖突,即如果一個項目最終依賴于相同artifact的多個版本,在依賴樹中離項目最近的那個版本將被使用。讓我們來看看一個實際的例子。

實例分析

我們有一個web應(yīng)用resolve-web,該工程依賴于project-A和project-B,project-A依賴于project-common的1.0版本并調(diào)用其中的sayHello()方法。project-B依賴于project-C,而project-C又進(jìn)一步依賴于project-common的2.0版本并調(diào)用其中的sayGoodBye()方法。project-common的1.0和2.0版本是不同的,1.0中之包含sayHello()方法,而2.0中包含了sayHello()和sayGoodBye()兩個方法。整個項目的依賴關(guān)系如下圖:

根據(jù)Maven的最近原則依賴機(jī)制,resolve-web將同時依賴于project-common的1.0和2.0版本,這就造成了依賴沖突。而根據(jù)最近獲勝策略,Maven將選擇project-common的1.0版本作為最終的依賴。這和Gradle不同,Gradle在默認(rèn)情況下將選擇最新的版本作為獲勝版本。而對于Maven,由于proejct-common的1.0版本比2.0版本在依賴樹中離resolve-web更近,故1.0版本獲勝。在resolve-web中執(zhí)行"mvndependency:tree-Dverbose"可以看到resolve-web的依賴關(guān)系:

[INFO]resolve-web:resolve-web:war:1.0-SNAPSHOT

[INFO]+-junit:junit:jar:3.8.1:test

[INFO]+-project-B:project-B:jar:1.0:compile

[INFO]|\-project-C:project-C:jar:1.0:compile

[INFO]|\-(project-common:project-commmon:jar:2.0:compile-omittedforconflictwith1.0)

[INFO]+-project-A:project-A:jar:1.0:compile

[INFO]|\-project-common:project-commmon:jar:1.0:compile

[INFO]\-javax.servlet:servlet-api:jar:2.4:provided

由上可知,project-common:project-commmon:jar:2.0被忽略掉了。此時在resolve-web的war包中將只包含project-common的1.0版本,于是問題來了。由于project-common的1.0版本中不包含sayGoodBye()方法,而該方法正是project-C所需要的,所以運行時將出現(xiàn)“NoSuchMethodError”。

解決辦法

方法1:顯式加入對project-common2.0版本的依賴。先前的2.0版本不是離resolve-web遠(yuǎn)了點嗎,那我們就直接將它作為resolve-web的依賴,這不就比1.0版本離resolve-web還近嗎?在resove-web的pom.xml文件中直接加上對project-common2.0的依賴

dependency

groupIdproject-common/groupId

artifactIdproject-commmon/artifactId

version2.0/version

/dependency

方法2:resolve-web對project-A的dependency聲明中,將project-common排除掉。在resolve-web的pom.xml文件中修改對project-A的dependency聲明

dependency

groupIdproject-A/groupId

artifactIdproject-A/artifactId

version1.0/version

exclusions

exclusion

groupIdproject-common/groupId

artifactIdproject-commmon/artifactId

/exclusion

/exclusions

/dependency

此時再在resolve-web中執(zhí)行"mvndependency:tree-Dverbose",如下:

......

[INFO]resolve-web:resolve-web:war:1.0-SNAPSHOT

[INFO]+-junit:junit:jar:3.8.1:test

[INFO]+-project-B:project-B:jar:1.0:compile

[INFO]|\-project-C:project-C:jar:1.0:compile

[INFO]|\-project-common:project-commmon:jar:2.0:compile

[INFO]+-project-A:project-A:jar:1.0:compile

[INFO]\-javax.servlet:servlet-api:jar:2.4:provided

......

這樣的話,就可以完美解決沖突了。

命令分析

這里我們對我們執(zhí)行的命令做一個簡單的說明。

mvndependency:tree-Dverbose-Dincludes=groupId:artifactId

1、第一部分mvndependency:tree是maven依賴的分析命令,作用是對我們的項目的依賴進(jìn)行分析,并輸出項目依賴樹

2、第二部分-Dverbose的作用是添加了verbose一個環(huán)境變量,起的作用是在分析項目依賴時輸出明細(xì),這樣項目中依賴的所有3、引用都會被輸出出來,包含了所有的間接引用,會有很多很多,我們只需要我們要找的,所以就需要第三個參數(shù)了第三部分-Dincludes=groupId:artifactId的作用就是進(jìn)行過濾,只包含我們想要的依賴的依賴時,排除掉其它不需要的,依賴樹的所有葉子節(jié)點就是我們的找的依賴包。其中的groupId和artifactId可以只填寫一個,為了保證準(zhǔn)確性,一般都會填兩個(填寫時不包括尖括號)。

小試牛刀

在自己的項目上,啟動時發(fā)現(xiàn)如下異常:

21-Mar-202515:51:33.527信息[RMITCPConnection(2)-]org.apache.catalina.core.ApplicationContext.logInitializingSpringrootWebApplicationContext

21-Mar-202515:52:08.905嚴(yán)重[RMITCPConnection(2)-]org.apache.catalina.core.StandardContext.listenerStartExceptionsendingcontextinitializedeventtolistenerinstanceofclass[org.springframework.web.context.ContextLoaderListener]

org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'org.springframework.web.socket.server.support.WebSocketHandlerMapping#0':Cannotresolvereferencetobean'org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler#0'whilesettingbeanproperty'urlMap'withkey[/websocket/**];nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler#0':Cannotresolvereferencetobean'org.springframework.web.socket.sockjs.transport.handler.DefaultSockJsService#0'whilesettingconstructorargument;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'org.springframework.web.socket.sockjs.transport.handler.DefaultSockJsService#0':Cannotresolvereferencetobean'SockJsScheduler'whilesettingconstructorargument;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'SockJsScheduler':Errorsettingpropertyvalues;nestedexceptionisorg.springframework.beans.NotWritablePropertyException:Invalidproperty'removeOnCancelPolicy'ofbeanclass[org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler]:Beanproperty'removeOnCancelPolicy'isnotwritableorhasaninvalidsettermethod.Doestheparametertypeofthesettermatchthereturntypeofthegetter

atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)

atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)

atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:407)

atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:165)

atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531)

atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276)

atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)

atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)

atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)

atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)

atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)

atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)

atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)

atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)

atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)

atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)

atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)

atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)

atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4817)

atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5283)

atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)

atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)

atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)

atorg.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:498)

atorg.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

aterceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

atcom.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

atorg.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)

atorg.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:498)

atorg.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

aterceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

atcom.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

atcom.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)

atjavax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)

atjavax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)

atjavax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)

atjava.security.AccessController.doPrivileged(NativeMethod)

atjavax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)

atjavax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:498)

atsun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)

atsun.rmi.transport.Transport$1.run(Transport.java:200)

atsun.rmi.transport.Transport$1.run(Transport.java:197)

atjava.security.AccessController.doPrivileged(NativeMethod)

atsun.rmi.transport.Transport.serviceCall(Transport.java:196)

atsun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)

atsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)

atsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)

atjava.security.AccessController.doPrivileged(NativeMethod)

atsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)

atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

atjava.lang.Thread.run(Thread.java:748)

執(zhí)行命令分析下,項目的jar包的依賴情況,只過濾并分析spring框架的jar包依賴樹情況,使用的命令如下:

mvndependency:tree-Dverbose-Dincludes=org.springframework:

在新引入的項目jar包中,發(fā)現(xiàn)其再次引入了spring的相關(guān)包并且該spring包的層級屬于第二層級,實際已有的spring的包處在第三或者第四層級,根據(jù)就近原則,低版本的3.2.5的jar包覆蓋了高版本的jar包,導(dǎo)致出現(xiàn)找不到某變量的異常。剔除這些jar包如下配置:

exclusion

groupIdorg.springframework/groupId

artifactIdspring-beans/artifactId

/exclusion

exclusion

groupIdorg.springframework/groupId

artifactIdspring-context/artifactId

/exclusion

exclusion

groupIdorg.springframework/groupId

artifactIdspring-context-support/artifactId

/exclusion

重新查看jar包的依賴樹:

xujiaqingdeMacBook-Pro:mosjaycee$mvndependency:tree-Dverbose-Dincludes=org.springframework:

[WARNING]

[WARNING]Someproblemswereencounteredwhilebuildingtheeffectivesettings

[WARNING]Unrecognisedtag:'mirror'(position:START_TAGseen...ethepreferred\n|serverforthatrepository.\n|--\nmirror...@153:10)@/software/apache-maven-3.6.0/conf/settings.xml,line153,column10

[WARNING]

[INFO]Scanningforprojects...

[WARNING]

[WARNING]Someproblemswereencounteredwhilebuildingtheeffectivemodelforfish:core-db:jar:1.0-SNAPSHOT

[WARNING]'build.plugins.plugin.version'fororg.apache.maven.plugins:maven-compiler-pluginismissing.@fish:core-db:[unknown-version],/projects/mos/core-db/pom.xml,line79,column21

[WARNING]

[WARNING]Itishighlyrecommendedtofixtheseproblemsbecausetheythreatenthestabilityofyourbuild.

[WARNING]

[WARNING]Forthisreason,futureMavenversionsmightnolongersupportbuildingsuchmalformedprojects.

[WARNING]

[INFO]------------------------------------------------------------------------

[INFO]ReactorBuildOrder:

[INFO]

[INFO]FishParent[pom]

[INFO]core-db[jar]

[INFO]core[war]

[INFO]

[INFO]--------------------------fish:FishParent---------------------------

[INFO]BuildingFishParent1.0-SNAPSHOT[1/3]

[INFO]--------------------------------[pom]---------------------------------

[INFO]

[INFO]---maven-dependency-plugin:2.8:tree(default-cli)@FishParent---

[INFO]

[INFO]----------------------------fish:core-db----------------------------

[INFO]Buildingcore-db1.0-SNAPSHOT[2/3]

[INFO]--------------------------------[jar]---------------------------------

[INFO]

[INFO]---maven-dependency-plugin:2.8:tree(default-cli)@core-db---

[INFO]fish:core-db:jar:1.0-SNAPSHOT

[INFO]\-com.hand:hap-db:jar:3.5.4-RELEASE:compile

[INFO]\-com.hand:hap-core-db:jar:3.5.4-RELEASE:compile

[INFO]\-org.springframework:spring-core:jar:4.3.11.RELEASE:compile

[INFO]

[INFO]-----------------------------fish:core------------------------------

[INFO]Buildingcore1.0-SNAPSHOT[3/3]

[INFO]--------------------------------[war]---------------------------------

[INFO]

[INFO]---maven-dependency-plugin:2.8:tree(default-cli)@core---

[INFO]fish:core:war:1.0-SNAPSHOT

[INFO]+-com.hand:hap-db:jar:3.5.4-RELEASE:compile

[INFO]|\-com.hand:hap-core-db:jar:3.5.4-RELEASE:compile

[INFO]|\-org.springframework:spring-core:jar:4.3.11.RELEASE:compile

[INFO]+-com.hand:hap-pom:pom:3.5.4-RELEASE:provided

[INFO]|+-com.hand:hap-core:jar:classes:3.5.4-RELEASE:provided

[INFO]||+-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-jdbc:jar:4.3.11.RELEASE:provided

[INFO]|||+-org.springframework:spring-beans:jar:4.3.11.RELEASE:provided

[INFO]||||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-(org.springframework:spring-tx:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-test:jar:4.3.11.RELEASE:provided

[INFO]|||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-context:jar:4.3.11.RELEASE:provided

[INFO]|||+-org.springframework:spring-aop:jar:4.3.11.RELEASE:provided

[INFO]||||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-org.springframework:spring-expression:jar:4.3.11.RELEASE:provided

[INFO]|||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-context-support:jar:4.3.11.RELEASE:provided

[INFO]|||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-context:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-web:jar:4.3.11.RELEASE:provided

[INFO]|||+-(org.springframework:spring-aop:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-context:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework:spring-webmvc:jar:4.3.11.RELEASE:provided

[INFO]|||+-(org.springframework:spring-aop:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-context:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-expression:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-(org.springframework:spring-web:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-org.springframework.data:spring-data-redis:jar:1.7.0.RELEASE:provided

[INFO]|||+-org.springframework.data:spring-data-keyvalue:jar:1.1.0.RELEASE:provided

[INFO]||||+-org.springframework.data:spring-data-commons:jar:1.12.0.RELEASE:provided

[INFO]|||||+-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||||\-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||\-(org.springframework:spring-tx:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-tx:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-org.springframework:spring-oxm:jar:4.2.5.RELEASE:provided

[INFO]||||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||\-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-aop:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-context-support:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.security:spring-security-web:jar:4.0.4.RELEASE:provided

[INFO]|||+-org.springframework.security:spring-security-core:jar:4.0.4.RELEASE:provided

[INFO]||||+-(org.springframework:spring-aop:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||+-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||||\-(org.springframework:spring-expression:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-expression:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-web:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.security:spring-security-config:jar:4.0.4.RELEASE:provided

[INFO]|||+-(org.springframework:spring-aop:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.security:spring-security-cas:jar:4.0.4.RELEASE:provided

[INFO]|||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-web:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.security.oauth:spring-security-oauth2:jar:2.0.7.RELEASE:provided

[INFO]|||+-(org.springframework:spring-beans:jar:4.0.9.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-core:jar:4.0.9.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-context:jar:4.0.9.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-webmvc:jar:4.0.9.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.security:spring-security-ldap:jar:4.0.4.RELEASE:provided

[INFO]|||+-(org.springframework:spring-beans:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-context:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-core:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-tx:jar:4.2.5.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-com.ryantenney.metrics:metrics-spring:jar:3.1.3:provided

[INFO]|||\-(org.springframework:spring-context-support:jar:4.1.6.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework.amqp:spring-rabbit:jar:1.7.1.RELEASE:provided

[INFO]|||+-(org.springframework:spring-web:jar:4.3.7.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-messaging:jar:4.3.7.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-org.springframework.amqp:spring-amqp:jar:1.7.1.RELEASE:provided

[INFO]||||\-(org.springframework:spring-core:jar:4.3.7.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||+-(org.springframework:spring-tx:jar:4.3.7.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]|||\-(org.springframework:spring-context:jar:4.3.7.RELEASE:provided-omittedforconflictwith4.3.11.RELEASE)

[INFO]||+-org.springframework:spring-websocket:jar:4.3.11.RELEASE:provided

[INFO]|||+-(org.springframework:spring-context:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||+-(org.springframework:spring-core:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]|||\-(org.springframework:spring-web:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||\-org.springframework:spring-messaging:jar:4.3.11.RELEASE:provided

[INFO]||+-(org.springframework:spring-beans:jar:4.3.11.RELEASE:provided-omittedforduplicate)

[INFO]||+-(org.springframework:spring-context:jar:4.3.11.RELEASE:provided-omitted

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論