dependency元素說明
groupId, artifactId,version:引用的包的groupId, artifactId, version
type:指定依賴的這個項目類型,是jar包還是其他類型的包,默認爲jar。
optional: 如果只是爲了滿足本項目編譯, 或者在運行時不需要該包時, 可以將optional設爲true, 那麼如果再有其他項目引用本項目時, 這個包將不依賴進來。
classifier:用於區別jdk的版本,有些包用不同的jdk,並有不同的後綴讓我們選擇,我們可以加上這個分類器。例如:bouncycastle/bcprov-jdk15/135/bcprov-jdk15-135.jar
systemPath:用於指定包的具體所在位置。當scope爲system時設置。
scope:該依賴所適用的範圍。scope有如下的值:
compile,默認值,適用於所有階段,會隨着項目一起發佈。
provided,類似compile,期望容器或使用者會提供這個依賴。
runtime,只在運行時使用,如JDBC驅動,適用運行和測試階段。 編譯時不會使用該包。
test,只在測試時使用,用於編譯和運行測試代碼。不會隨項目發佈。
system,類似provided,需要顯式提供包含依賴的jar,maven不會在Repository中查找它,將會去systemPath中查找。並不會隨項目發佈。