天天看點

IDEA mvn 指令作用介紹

idea工具maven projects裡面有9種生命周期,今天剛好遇到,順便分享下自己的了解。生命周期是包含在一個項目建構中的一系列有序的階段。

最常用的兩種打包方法:

一:clean,package(如果報錯,很可能就是jar依賴的問題)

二:clean,install

9種生命周期:

clean,

清理,在進行真正的建構之前進行一些清理工作,移除所有上一次建構生成的檔案。執行該指令會删除項目路徑下的target檔案,但是不會删除本地的maven倉庫已經生成的jar檔案。

validate,

驗證,驗證工程是否正确,所需的資訊是否完整。

compile,

編譯源碼,編譯生成class檔案,編譯指令,隻編譯標明的目标,不管之前是否已經編譯過,會在你的項目路徑下生成一個target目錄,在該目錄中包含一個classes檔案夾,裡面全是生成的class檔案及位元組碼檔案。

test,

單元測試,測試。

package,

打包,将工程檔案打包為指定的格式,例如JAR,WAR等。這個指令會在你的項目路徑下一個target目錄,并且擁有compile指令的功能進行編譯,同時會在target目錄下生成項目的jar/war檔案。如果a項目依賴于b項目,打包b項目時,隻會打包到b項目下target下,編譯a項目時就會報錯,因為找不到所依賴的b項目,說明a項目在本地倉庫是沒有找到它所依賴的b項目,這時就用到install指令了

verify,

核實,檢查package是否有效、符合标準。

install,

安裝至本地倉庫,将包安裝至本地倉庫,以讓其它項目依賴。該指令包含了package指令功能,不但會在項目路徑下生成class檔案和jar包,同時會在你的本地maven倉庫生成jar檔案,供其他項目使用(如果沒有設定過maven本地倉庫,一般在使用者/.m2目錄下。如果a項目依賴于b項目,那麼install b項目時,會在本地倉庫同時生成pom檔案和jar檔案,解決了上面打包package出錯的問題)

build:功能類似compile,隻是隻對整個項目進行編譯。

site,

站點,生成項目的站點文檔

deploy,

複制到遠端倉庫

build和compile的差別

Compile:隻編譯標明的目标,不管之前是否已經編譯過。

Build:是對整個工程進行徹底的重新編譯,而不管是否已經編譯過。Build過程往往會生成釋出包,這個具體要看對IDE的配置了,Build在實際中應用很少,因為開發時候基本上不用,釋出生産時候一般都用ANT等工具來釋出。Build因為要全部編譯,還要執行打包等額外工 作,是以時間較長。

idea重新映入jar

由于依賴包更新,需要重新引入,但是删掉舊包之後重新建構卻無法自動下載下傳新包,即使是重新開機idea也不會自動下載下傳。其實重新下載下傳的方法很簡單,右鍵項目->maven->Reimport即可。如下圖:

IDEA mvn 指令作用介紹

繼續閱讀