Maven中的scope元素用于定義依賴項(xiàng)在不同構(gòu)建階段的可見(jiàn)性和使用范圍。它可以設(shè)置在pom.xml文件中的
compile(默認(rèn)):依賴項(xiàng)在所有編譯、測(cè)試和運(yùn)行階段都可見(jiàn)。它會(huì)被包含在輸出的JAR文件中,并且可以被其他項(xiàng)目的依賴項(xiàng)所使用。
provided:依賴項(xiàng)在編譯和測(cè)試階段可見(jiàn),但在運(yùn)行期間由應(yīng)用程序容器或Java運(yùn)行時(shí)提供。這意味著在部署應(yīng)用程序時(shí),該依賴項(xiàng)不會(huì)被包含在生成的JAR文件中。
runtime:依賴項(xiàng)在運(yùn)行和測(cè)試階段可見(jiàn),但不會(huì)被編譯。該依賴項(xiàng)在運(yùn)行時(shí)是必需的,但在編譯時(shí)不需要,因此它不會(huì)被包含在輸出的JAR文件中。
test:依賴項(xiàng)僅在測(cè)試階段可見(jiàn),不會(huì)被編譯和運(yùn)行。它主要用于編寫單元測(cè)試。
system:依賴項(xiàng)類似于provided,但需要顯式地指定jar文件的路徑。這個(gè)scope對(duì)于一些無(wú)法通過(guò)Maven倉(cāng)庫(kù)獲得的本地依賴項(xiàng)很有用。
import:該scope僅適用于
通過(guò)在