maven打包 package install deploy區別
一、構建專案的幾個環節
- 清理(clean):刪除以前的編譯結果,為重新編譯做好準備
- 編譯(compile):將Java 源程式編譯為位元組碼檔案
- 測試(test):針對專案中的關鍵點進行測試,確保專案在迭代開發過程中關鍵點的正確性
- 打包(package):將一個包含諸多檔案的工程封裝為一個壓縮檔案用於安裝或部署。Java 工程對應 jar 包,Web工程對應 war 包。
- 安裝(install):在 Maven 環境下特指將打包的結果——jar 包或 war 包安裝到本地倉庫中。
- 部署(deploy):將打包的結果部署到遠端倉庫或將 war 包部署到伺服器上執行。
二、打包區別
- mvn package:打包到本專案,一般在專案target目錄下。
- mvn install:打包到本地倉庫,如果沒設定Maven本地倉庫,一般在使用者/.m2目錄下。
- mvn deploy:打包上傳到遠端倉庫,如:私服nexus等,需要配置pom檔案。
三、打包過程
-
mvn clean package:
依次執行:clean、resources、compile、testResources、testCompile、test、jar(打包)。 -
mvn clean install
依次執行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install。 -
mvn clean deploy
依次執行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy。
由上面分析主要區別如下:
-
package命令:完成專案編譯、單元測試、打包功能,但打包檔案未部署到本地Maven倉庫和遠端Maven倉庫。
-
install命令:完成專案編譯、單元測試、打包功能,同時把打包檔案部署到本地Maven倉庫,但未部署到遠端Maven倉庫。
-
deploy命令:完成專案編譯、單元測試、打包功能,同時把打包檔案部署到本地Maven倉庫和遠端Maven倉庫。
轉載自:Maven 打包 package install deploy 區別
參考連結:面試官問我maven package和install的區別
相關文章
- Maven命令列使用:mvn clean package(打包)Maven命令列Package
- MVN命令之clean,compile,build,install,package區別CompileUIPackage
- deploy package outside of jbossPackageIDE
- MySQL MMM Install DeployMySql
- Maven Deploy 簡單操作Maven
- Package Specification 和 Package Body 及 Package有什麼區別? (轉)Package
- maven打包Maven
- SpringBoot的repackage和Maven打包命令之間的區別 - BaeldungSpring BootPackageMaven
- Perl CPAN install PM packagePackage
- Vagrant package 打包 Homestead boxPackage
- maven與ant的區別Maven
- Maven deploy部署jar包到遠端私倉MavenJAR
- before install octave package you must be install gcc-fortranPackageGC
- Python:conda install 和pip install的區別Python
- Maven Install on Mac OS XMavenMac
- How to install Maven on Mac OSXMavenMac
- Spring Boot package打包失敗Spring BootPackage
- Maven deploy 操作:Return code is: 401和400錯誤Maven
- Maven 免測試打包Maven
- yum install 與 yum groupinstall 的區別
- maven打包oracle jdbc驅動MavenOracleJDBC
- 在idea上 maven 打包IdeaMaven
- Maven 打包釋出到nexusMaven
- maven </dependencies>和</dependencyManagement> 有什麼區別Maven
- Idea新建Maven專案,無法新建package,不能識別module結構體IdeaMavenPackage結構體
- java專案打包(maven+原生)JavaMaven
- maven 打包不複製資源Maven
- 深入瞭解gradle和maven的區別GradleMaven
- 【maven】Maven打包後為何檔案大小改變了Maven
- glassfish3 install,dwr3+struts2 deploy error handlingError
- maven 打包時將 source 和 javadoc 一起打包MavenJava
- Maven和Ant簡介以及兩者的區別Maven
- 使用Maven打包你的應用——maven-jar-plugin & maven-assembly-plugin & maven-shade-pluginMavenJARPlugin
- maven模組互相依賴打包處理Maven
- maven 打包可執行 jar 檔案MavenJAR
- Maven命令列使用:mvn clean install(安裝)Maven命令列
- Maven-3.3.9 Install and Oozie-4.3.0 CompileMavenCompile
- idea maven中lifecycle 和 plugins的區別IdeaMavenPlugin