內(nèi)容簡介
1.測試目的
2.父子模塊間的依賴
3.普通項(xiàng)目或模塊間的依賴
4.總結(jié)
測試目的
compile,test,provided這三種是項(xiàng)目中常用的scopes范圍依賴,測試這三種范圍有利于理解模塊與模塊或項(xiàng)目與項(xiàng)目之間jar包依賴的傳遞性的不同整袁。
父子模塊間的依賴
子模塊引用了父模塊便擁有了父模塊的所有jar包,包括父模塊test范圍的jar包和provided范圍的jar包。
父模塊將自己依賴的包聲明為test或provided也會(huì)被傳遞給子模塊佑吝。
2.普通項(xiàng)目或模塊之間的依賴
普通模塊與普通模塊之間的依賴坐昙,弟弟模塊依賴姐姐模塊便會(huì)擁有姐姐所有依賴,但是姐姐的test范圍依賴不傳遞給弟弟模塊(這里已提前將父模塊的所有jar包依賴去除)芋忿。
依賴的模塊中聲明為test范圍的依賴不會(huì)傳遞給其他模塊(弟弟模塊依賴姐姐模塊炸客,但是不會(huì)得到姐姐模塊中范圍為test的依賴)。
provided:表明了dependency 由JDK或者容器提供盗飒,例如Servlet AP和一些Java EE APIs。這個(gè)scope 只能作用在編譯和測試時(shí)陋桂,同時(shí)在普通模塊或普通項(xiàng)目之間沒有傳遞性逆趣。
但是子項(xiàng)目繼承父項(xiàng)目后,父項(xiàng)目的所有項(xiàng)目還是會(huì)傳遞給子項(xiàng)目嗜历,是所有宣渗!包括范圍為provided的依賴。
4.總結(jié)
子模塊會(huì)繼承父模塊所有依賴梨州,無論父模塊的依賴聲明范圍是什么(test,provided都不會(huì)起作用)痕囱。
普通模塊或普通項(xiàng)目之間,依賴范圍會(huì)正常生效暴匠。test鞍恢、provided范圍的依賴不能被傳遞,compile會(huì)正常傳遞(默認(rèn)scopes就是compile)每窖。