一、mvn install命令
在Maven項(xiàng)目中執(zhí)行默認(rèn)的命令mvn install會(huì)將本地的jar包安裝到本地的倉庫中,以便于在其他項(xiàng)目通過pom依賴的方式使用。同時(shí),執(zhí)行該命令還會(huì)對(duì)項(xiàng)目進(jìn)行編譯、打包和發(fā)布操作,便于在其他環(huán)境中進(jìn)行部署使用。
二、mvn install命令選項(xiàng)
mvn install命令有一些選項(xiàng)可以控制執(zhí)行過程中的一些特定操作。
1. -Dmaven.test.skip=true 該選項(xiàng)可以跳過測(cè)試過程,加快構(gòu)建過程,但有可能會(huì)導(dǎo)致潛在的線上問題。
2. -DskipTests=true 該選項(xiàng)也可以跳過測(cè)試過程,但不會(huì)生成測(cè)試報(bào)告。
3. -Dmaven.site.skip=true 該選項(xiàng)可以跳過生成站點(diǎn)文檔過程。
4. -Dmaven.javadoc.skip=true 該選項(xiàng)可以跳過生成javadoc文檔過程。
三、mvn install本地jar選取
有些情況下,我們需要將一個(gè)本地已有的jar包安裝到本地maven倉庫中,這時(shí),我們可以執(zhí)行mvn install:install-file命令來完成這個(gè)過程。
命令參數(shù):
file:jar包文件的位置 groupId:groupId,例如com.example artifactId:artifactId,例如example-java version:版本號(hào),例如1.0.0 packaging:打包方式,默認(rèn)為jar generatePom:是否生成pom文件,默認(rèn)為true示例代碼:
mvn install:install-file -DgroupId=com.example -DartifactId=example-java -Dversion=1.0.0 -Dfile=/path/to/example.jar -Dpackaging=jar -DgeneratePom=true
四、使用mvn install構(gòu)建可執(zhí)行jar包
使用Maven的插件maven-assembly-plugin,我們可以方便的構(gòu)建出可執(zhí)行的jar包,并將所有的依賴包打成一個(gè)大的jar包,以方便在其他環(huán)境中運(yùn)行。
配置文件示例:
maven-assembly-plugin
com.example.Main
jar-with-dependencies
make-assembly
package
single
執(zhí)行命令:
mvn clean package
之后在target文件夾下就可以找到一個(gè)可執(zhí)行的jar文件,運(yùn)行方式為:java -jar example.jar。
五、使用mvn install將項(xiàng)目安裝到本地倉庫的多個(gè)版本
在開發(fā)過程中,有時(shí)候我們需要同時(shí)維護(hù)多個(gè)版本的同一個(gè)項(xiàng)目,我們可以使用mvn install命令將每個(gè)版本安裝到不同的目錄下。
首先,在pom.xml中指定版本號(hào):
com.example
example-java
1.0.0
jar
然后,執(zhí)行以下命令來將項(xiàng)目安裝到本地倉庫:
mvn install -Dmaven.install.version=1.0.0
mvn install -Dmaven.install.version=1.0.1
這樣,每個(gè)版本都會(huì)被安裝到~/.m2/repository/com/example/example-java目錄下,分別對(duì)應(yīng)1.0.0和1.0.1兩個(gè)版本。