1、dependence
scope【默認為compile范圍,】
當scope為compile時,會在編譯的時候?qū)⒁蕾嚰尤?,打包的時候也會將依賴加入;
當scope為provided時,當我們在編譯或者測試的時候會將依賴加入,但是打包的時候不會加入依賴【如servlet-api,因為其在tomcat中已經(jīng)存在,再打包將會產(chǎn)生沖突】;
當scope為runtime時,在編譯的時候兒不依賴,在運行的時候兒依賴【如jdbc連接包等】
當scope為test時,在測試的時候依賴,在編譯和打包的時候兒不依賴【如junit,ubunit等】;
2、依賴傳遞
當scope為test的時候,依賴是不會被傳遞的;dbunite默認依賴為junite3.8.2
常見依賴問題:
場景1:
A依賴于包xxx-1.0
B依賴于包xxx-2.0
C依賴于A和B,那么是如何傳遞的呢?【答:其中A、B于包xxx為直接依賴,C于包xxx為間接依賴,當存在間接依賴關(guān)系的時候,先依賴誰就傳遞為誰的包】
總結(jié):當依賴級別相同的時候兒,我們的依賴取先依賴的那個,當依賴級別不同的時候兒,我們獲取的為依賴級別最短的那個
3、依賴排除
當存在依賴沖突的時候,最好使用exclusion排除依賴
。。。。。。。。。。。。。。。未完待續(xù)。。。。。。。。。。。。。。。。。