Maven 項目介紹
學習前提
相對於傳統的項目,Maven 下管理和構建的項目真的非常好用和簡單,所以這裏也強調下,儘量使用此類工具進行項目構建。
學習本講還有一個前提:你必須會 Maven 相關知識點,Maven 相關知識點是不在本專題的講解範圍裏面的,所以請自己私下進行學習。如果願意你也可以看我過去整理的一份視頻(提取碼:wh5g):http://pan.baidu.com/s/1eSovBkI
Maven 常用設置介紹
- 如上圖標註 1 所示,我們可以指定我們本地 Maven 的安裝目錄所在,因爲我已經配置了
MAVEN_HOME
系統參數,所以直接這樣配置 IntelliJ IDEA 是可以找到的。但是假如你沒有配置的話,這裏可以選擇你的 Maven 安裝目錄。- 如上圖標註 2 所示,我們還可以指定 Maven 的
settings.xml
位置和本地倉庫位置。
- 如上圖標註 1 所示,
Import Maven projects automatically
表示 IntelliJ IDEA 會實時監控項目的pom.xml
文件,進行項目變動設置。- 如上圖標註 2 所示,在 Maven 導入依賴包的時候是否自動下載源碼和文檔。默認是沒有勾選的,也不建議勾選,原因是這樣可以加快項目從外網導入依賴包的速度,如果我們需要源碼和文檔的時候我們到時候再針對某個依賴包進行聯網下載即可。IntelliJ IDEA 支持直接從公網下載源碼和文檔的。
- 如上圖標註 3 所示,可以設置導入的 VM 參數。一般這個都不需要主動改,除非項目真的導入太慢了我們再增大此參數。
Maven 骨架創建 Java Web 項目
- 如上圖 Gif 演示,根據已有的 Maven 骨架進行 Java Web 項目創建。其中需要特別注意的是,在創建項目過程中 Maven 會去外網中央倉庫中下載對應的依賴或是組件,這個過程根據自身網絡環境決定其快慢。如果出現無法下載的情況請自備 VPN 或者通過修改 Maven 配置文件
settings.xml
切換國內的中央倉庫。- 由於我已經試過多次了,所以 Gif 演示中我可以快速創建好,但是你那邊不一定是這種情況的。
啓動 Java Web 項目
- 如上圖 Gif 演示,配置好項目之後,啓動 Tomcat 容器可以良好運行。
Maven 組件來管理項目
我們已經瞭解瞭如何通過 Maven 骨架生成一個最簡單的 Java Web 項目,可是我們還是使用了 IntelliJ IDEA 的項目管理功能進行 Maven 項目的管理和構建。一般 Maven 的項目我們都可以脫離 IntelliJ IDEA 的項目配置功能進行獨立的管理和構建的,接下來我們就講如何通過 IntelliJ IDEA 提供的 Maven 管理工具進行項目的管理和構建。
Maven 組件界面介紹
- 如上圖標註 1 所示,爲常用的 Maven 工具欄,其中最常用的有:
- 第一個按鈕:
Reimport All Maven Projects
表示根據pom.xml
重新載入項目。一般當我們在pom.xml
添加了依賴包或是插件的時候,發現標註 4 的依賴區中沒有看到最新寫的依賴的話,可以嘗試點擊此按鈕進行項目的重新載入。- 第六個按鈕:
Execute Maven Goal
彈出可執行的 Maven 命令的輸入框。有些情況下我們需要通過書寫某些執行命令來構建項目,就可以通過此按鈕。- 第九個按鈕:
Show Dependencies
顯示項目依賴的結構圖,可以方便我們直觀項目的依賴包情況。這個功能有些具體的操作下面會專門進行講解。
- 如上圖標註 2 所示,常用的 Maven 生命週期的命令,通過雙擊對應的命令來執行項目編譯、打包、部署等操作。
- 如上圖標註 3 所示,爲我們在
pom.xml
中配置的插件列表,方便調用插件。
- 如上圖標註 4 所示,爲我們在
pom.xml
中配置的依賴包列表。
- 如上圖標註 5 所示,爲常見的 Java Web 在 Maven 下的一個項目結構。
Maven 的 Tomcat 插件運行項目
- 如上圖 Gif 演示,通過 Maven 生命週期的命令進行編譯和打包,及用 Maven 的 Tomcat 插件運行項目。
- 雖然我們可以通過 Maven 組件進行項目的管理,但是這並不等同於我們可以完全拋棄 IntelliJ IDEA 的項目設置,比如我們在
pom.xml
文件中設置了 JDK 編譯版本是 1.7,但是在項目的Ctrl + Shift + Alt + S
配置中,我們配置的 JDK 是 1.8,那即使我們用 Maven 的編譯工具或命令進行編譯也是會調用 1.8的。還有即使我們在Ctrl + Shift + Alt + S
配置中沒有配置 Artifacts,在我們運行 Maven 的 Tomcat 插件的時候也會自動幫我們生成的。
Maven 快速排查依賴包衝突
- 如上圖箭頭所示,點擊此按鈕會出現左邊的項目依賴結構圖,通過此圖我們可以很好的觀察項目的依賴依賴情況。
- 如上圖標註 1 所示,我們可以直接在依賴結構圖上編輯依賴,常用的就是此排除功能。
- 如上圖描述,一般我們在出現紅色線的時候是都要進行排除的,防止出現因爲版本不同的依賴包造成代碼無法編譯。