天天看點

maven pom教程

1、dependencies和dependencyManagement的差別

dependencies即使在子項目中不寫該依賴項,那麼子項目仍然會從父項目中繼承該依賴項(全部繼承)

dependencyManagement裡隻是聲明依賴,并不實作引入,是以子項目需要顯示的聲明需要用的依賴。如果不在子項目中聲明依賴,是不會從父項目中繼承下來的;隻有在子項目中寫了該依賴項,并且沒有指定具體版本,才會從父項目中繼承該項,并且version和scope都讀取自父pom;另外如果子項目中指定了版本号,那麼會使用子項目中指定的jar版本。

2、maven pom内置變量

${basedir} 項目根目錄

${project.build.directory} 建構目錄,預設為target

${project.build.outputDirectory} 建構過程輸出目錄,預設為target/classes

${project.build.finalName} 産出物名稱,預設為${project.artifactId}-${project.version}

${project.packaging} 打包類型,預設為jar

${project.xxx} 目前pom檔案的任意節點的内容

3、 依賴的作用域

Maven中servlet-api的dependency的scope作用域為什麼是provided?