maven命令行打包指定配置文件和倉庫地址
mvn -U clean install --settings D:\server\apache-maven-3.5.4\conf\settings.xml -Dmaven.test.skip=true -Dmaven.repo.local=D:\localrepository
maven 倉庫上傳 jar 包
通常允許上傳的遠程倉庫有兩種:Snapshots和Releases,分別為快照版?zhèn)}庫和穩(wěn)定版?zhèn)}庫。 快照版?zhèn)}庫用于存放不穩(wěn)定的開發(fā)包,穩(wěn)定版?zhèn)}庫用于存放穩(wěn)定的包。
1 通過Nexus UI 界面部署 ,點擊對應(yīng)的倉庫選擇導(dǎo)航欄的Repository -> 選擇 3rd Party(第三方)或者快照、穩(wěn)定版,選擇tab中的 Artifact Upload。如下圖所示完成上傳。
125616_u2qn_914271.jpg
2 在IDE中界面操作deploy即可
maven package:打包到本項目,一般是在項目target目錄下。
maven install:打包會安裝到本地倉庫。
maven deploy:將打包的文件發(fā)布到遠程倉庫(私服)。deploy = package + install
3 通過cmd命令完成[snapshot版本]
mvn -e deploy:deploy-file -Dmaven.test.skip=true --settings D:\server\apache-maven-3.5.4\conf\settings.xml -DgroupId=com.destiny.example -DartifactId=destiny-example -Dversion=1.0.0 -Dpackaging=jar -Dfile=com-destiny-example-1.0.0.jar -DrepositoryId=maven-snapshots -Durl=http://xxx.xxx.xxx.xxx:8081/repository/maven-snapshots/
參數(shù)說明:
–Dversion 版本信息
-DrepositoryId 倉庫標(biāo)識id
-Durl 私服上倉庫的位置,打開nexus —>repositories菜單,可以看到該路徑。
-Dfile jar 文件所在路徑和文件名
-DpomFile pom文件所在路徑和文件名
repositoryId和url地址參照自己的maven settings文件進行配置
maven 項目配置(忽略web.xml和帶包帶source文件)
# maven項目啟動時忽略 web.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
## maven install 打包帶 source
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
maven 命令
maven 命令的格式為 mvn [plugin-name]:[goal-name],可以接受的參數(shù)如下。
-D 指定參數(shù),如 -Dmaven.test.skip=true 跳過單元測試;
-P 指定 Profile 配置,可以用于區(qū)分環(huán)境;
-e 顯示maven運行出錯的信息;
-o 離線執(zhí)行命令,即不去遠程倉庫更新包;
-X 顯示maven允許的debug信息;
-U 強制去遠程更新snapshot的插件或依賴,默認(rèn)每天只更新一次。
常用maven命令
validate 驗證工程是否正確,所需的信息是否完整
test 執(zhí)行單元測試
verify 檢查package是否有效、符合標(biāo)準(zhǔn)
site 添加站點信息
創(chuàng)建maven項目:mvn archetype:create
指定 group: -DgroupId=packageName
指定 artifact:-DartifactId=projectName
創(chuàng)建web項目:-DarchetypeArtifactId=maven-archetype-webapp
創(chuàng)建maven項目:mvn archetype:generate
驗證項目是否正確:mvn validate
maven 打包:mvn package
只打jar包:mvn jar:jar
生成源碼jar包:mvn source:jar
產(chǎn)生應(yīng)用需要的任何額外的源代碼:mvn generate-sources
編譯源代碼: mvn compile
編譯測試代碼:mvn test-compile
運行測試:mvn test
運行檢查:mvn verify
清理maven項目:mvn clean
生成eclipse項目:mvn eclipse:eclipse
清理eclipse配置:mvn eclipse:clean
生成idea項目:mvn idea:idea
安裝項目到本地倉庫:mvn install
發(fā)布項目到遠程倉庫:mvn:deploy
在集成測試可以運行的環(huán)境中處理和發(fā)布包:mvn integration-test
顯示maven依賴樹:mvn dependency:tree
顯示maven依賴列表:mvn dependency:list
下載依賴包的源碼:mvn dependency:sources
安裝本地jar到本地倉庫:mvn install:install-file -DgroupId=packageName -DartifactId=projectName -Dversion=version -Dpackaging=jar -Dfile=path
web項目相關(guān)命令
啟動tomcat:mvn tomcat:run
啟動jetty:mvn jetty:run
運行打包部署:mvn tomcat:deploy
撤銷部署:mvn tomcat:undeploy
啟動web應(yīng)用:mvn tomcat:start
停止web應(yīng)用:mvn tomcat:stop
重新部署:mvn tomcat:redeploy
部署展開的war文件:mvn war:exploded tomcat:exploded
maven生成站點信息
# 配置pom
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7</version>
</plugin>
# 最外層添加
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</reporting>
# mvn site 生成站點信息
簡版 alibaba maven 倉庫地址配置
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\localrepository</localRepository>
<interactiveMode>true</interactiveMode>
<offline>false</offline>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
<activeProfile>test</activeProfile>
</activeProfiles>
</settings>
