MVN命令之clean,compile,build,install,package區別

獵手家園發表於2022-10-14

1、clean:
執行該命令會刪除專案路徑下的target檔案,但是不會刪除本地的maven倉庫已經生成的jar檔案

2、compile:
編譯命令,只編譯選定的目標,不管之前是否已經編譯過,會在你的專案路徑下生成一個target目錄,在該目錄中包含一個classes資料夾,裡面全是生成的class檔案及位元組碼檔案。

3、package:
這個命令會在你的專案路徑下一個target目錄,並且擁有compile命令的功能進行編譯,同時會在target目錄下生成專案的jar/war檔案。如果a專案依賴於b專案,打包b專案時,只會打包到b專案下target下,編譯a專案時就會報錯,因為找不到所依賴的b專案,說明a專案在本地倉庫是沒有找到它所依賴的b專案,這時就用到install命令了

4、install:
該命令包含了package命令功能,不但會在專案路徑下生成class檔案和jar包,同時會在你的本地maven倉庫生成jar檔案,供其他專案使用(如果沒有設定過maven本地倉庫,一般在使用者/.m2目錄下。如果a專案依賴於b專案,那麼install b專案時,會在本地倉庫同時生成pom檔案和jar檔案,解決了上面打包package出錯的問題)
build:功能類似compile,只是只對整個專案進行編譯

5、build和compile的區別:
Compile:只編譯選定的目標,不管之前是否已經編譯過。

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

6、打包過程:
方法一:clean,package(如果報錯,很可能就是jar依賴的問題,一般此問題都出現在第一次打包的情況,就用下面的方法)

方法二:clean,install

 

相關文章