一、mvn install命令
在Maven項(xiàng)目中執(zhí)行默認(rèn)的命令mvn install會(huì)將本地的jar包安裝到本地的倉(cāng)庫(kù)中,以便于在其他項(xiàng)目通過(guò)pom依賴(lài)的方式使用。同時(shí),執(zhí)行該命令還會(huì)對(duì)項(xiàng)目進(jìn)行編譯、打包和發(fā)布操作,便于在其他環(huán)境中進(jìn)行部署使用。
二、mvn install命令選項(xiàng)
mvn install命令有一些選項(xiàng)可以控制執(zhí)行過(guò)程中的一些特定操作。
1. -Dmaven.test.skip=true 該選項(xiàng)可以跳過(guò)測(cè)試過(guò)程,加快構(gòu)建過(guò)程,但有可能會(huì)導(dǎo)致潛在的線(xiàn)上問(wèn)題。
2. -DskipTests=true 該選項(xiàng)也可以跳過(guò)測(cè)試過(guò)程,但不會(huì)生成測(cè)試報(bào)告。
3. -Dmaven.site.skip=true 該選項(xiàng)可以跳過(guò)生成站點(diǎn)文檔過(guò)程。
4. -Dmaven.javadoc.skip=true 該選項(xiàng)可以跳過(guò)生成javadoc文檔過(guò)程。
三、mvn install本地jar選取
有些情況下,我們需要將一個(gè)本地已有的jar包安裝到本地maven倉(cāng)庫(kù)中,這時(shí),我們可以執(zhí)行mvn install:install-file命令來(lái)完成這個(gè)過(guò)程。
命令參數(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包,并將所有的依賴(lài)包打成一個(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)目安裝到本地倉(cāng)庫(kù)的多個(gè)版本
在開(kāi)發(fā)過(guò)程中,有時(shí)候我們需要同時(shí)維護(hù)多個(gè)版本的同一個(gè)項(xiàng)目,我們可以使用mvn install命令將每個(gè)版本安裝到不同的目錄下。
首先,在pom.xml中指定版本號(hào):
com.example
example-java
1.0.0
jar
然后,執(zhí)行以下命令來(lái)將項(xiàng)目安裝到本地倉(cāng)庫(kù):
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è)版本。