1. 項目打包
IDEA中,maven打包的方式有兩種,分別是 install 和 package ,他們的區別如下:
install 方式
install 打包時做了兩件事,① 將項目打包成 jar 或者 war,打包結果存放在項目的 target 目錄下。② 同時,本地倉庫的目錄中,也會留存一份該打包結果,目的是供其它項目或者模塊引用。
install命令應用場景:當前項目是公共模塊或者需要集成到其它項目(模塊)中使用。
注意:本地倉庫中的 jar 包并不會自動更新,除非我們再次執行 install 命令。這就意味著,如果我們修改了某個公共項目,那么其它有引用到該公共項目的模塊或項目在打包之前,必須要先對該公共項目執行 install 命令重新打包,這樣本地倉庫中原有的 jar 包才會被更新掉,否則,其它模塊或項目引用到的還是原來的 jar 包。
package 方式
package 打包時只做一件事,就是將項目打包成 jar 或者 war,打包結果存放在項目的 target 目錄下。可以這么認為,package 命令是 install 命令的一個子級,只完成了 install 命令一半的工作。大部分應用場景下,我們使用 package 命令對項目進行打包即可。
2. 父級yml文件修改后不生效
在實際項目開發中,我們可能會碰到父級yml文件修改后不生效的問題,該問題通常發生在多模塊環境中。
假設有一個業務模塊A需要打包,但是模塊A依賴一個公共的模塊B,如果模塊B中的 yml 文件被修改過,那么A模塊中引用到的B模塊jar包大概率還會是之前老的 jar 包。產生這個問題的根本原因是:模塊依賴包對應的jar包文件位于maven倉庫目錄下,并且這個目錄下的jar包文件不會自動更新。那么如何才能引用到最新的B模塊中的jar包呢?其實很簡單,我們只需要將模塊B手動重新安裝就可以了,具體如下:
在maven工具欄,找到公共模塊B,先執行clean操作,然后再執行install操作即可。
如圖:
安裝成功后,我們將會看到,maven的倉庫目錄下,已經生成了最新的依賴jar包。