Spring Boot踩坑交流
阿新 • • 發佈:2018-12-12
問題:執行Spring Boot+Maven專案時clean失敗
父pom檔案引用的maven外掛資源版本
- 淺談Maven 生命週期
- 上述問題的解決方案
對Maven生命週期的理解 Maven的生命週期是對所有的構建過程進行抽象和統一,它的生命週期是抽象的,也就意味著生命週期本身不做任何實際的工作,生命週期只是定義了一系列的階段,並確定這些階段的執行順序。而在執行這些階段時,實際的工作還是由外掛來完成的。 主要有三個內建的生成生命週期: 預設(default)—default生命週期處理專案部署 清空(clean)—clean生命週期處理專案清空 站點(site)—site生命週期處理專案站點文件的建立 生命週期的主要階段有: 1.install
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> </plugins> </pluginManagement> </build>
對此段程式碼的理解: pluginManagement 表示外掛宣告,在它下面宣告的外掛,maven是不會載入的,一般定義在父pom檔案中,提供給子POM使用,當然了,子POM也可以覆蓋這個定義;而且在父POM中定義了版本之後,子模組中直接應用groupId和artifactId,而不用指定版本,同時也方便統一管理;此外,父POM中的pluginManagement並不會介入到Maven的生命週期。 目的:主要是為了統一管理外掛,確保所有子POM使用的外掛版本保持一致 plugins的作用:給出構建過程中用到的外掛,把寫好的程式和程式本身所依賴的jar包一起build到一個包裡,這是maven中針對打包任務而提供的標準外掛。 如果是繼承了父POM則不用顯示指定外掛的內容
參考連結