maven命令用法 版本管理 安装和发布组件

2016-03-26 14:30:00
admin
原创 2726
摘要:maven命令用法 版本管理 安装和发布组件

一、maven命令用法

mvn -v,查看安装信息;

mvn [options] [<goal(s)>] [<phase(s)>],执行目标或生命周期阶段;

goal:目标是一个具体执行动作,一个插件可以包含多个目标;

phase:阶段通常绑定零到多个目标,执行阶段其实是执行关联的目标;


生命周期:

1、内置生命周期:default构建项目,clean清理项目,site构建项目文档;

2、每个生命周期包括多个生命周期阶段


插件:

1、插件可以有一个或多个目标,阶段可以绑定默认目标

2、pom插件的目标顺序执行,然后每个插件继承的目标执行;


仓库和镜像:

1、仓库是真正存储组件文件的位置,镜像一般是为了加速或缓减仓库压力;

2、配置mirrorOf不要配置*,这样镜像会拦截所有仓库请求,一般配置central拦截中央仓库请求;


配置文档:

中央仓库:https://mvnrepository.com

pom配置:http://maven.apache.org/pom.html

settings配置:http://maven.apache.org/settings.html

lifecycle详解:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

toolchains配置:https://maven.apache.org/guides/mini/guide-using-toolchains.html

代理配置:http://maven.apache.org/guides/mini/guide-proxies.html


常见问题:

1、eclipse报错-Dmaven.multiModuleProjectDirectory system propery is not set:

     配置环境变量M2_HOME=D:\apache-maven-3.3.9

     点击Window->Preference->Java->Installed JREs->Edit

     配置Default VM arguments:-Dmaven.multiModuleProjectDirectory=$M2_HOME

2、Missing artifact问题:删除依赖库的lastUpdated文件,重新update工程;


二、版本管理

1、版本号规范:https://maven.apache.org/pom.html#Dependencies

2、版本号格式是X.Y.Z,X是主版本号Major,Y是次版本号Minor,Z是补丁版本Patch;

3、不同主版本号相互不兼容,但是同一主版本号,不同次版本号相互兼容;

4、0.X.Y表示初始版本,可以认为是不稳定版本,1.X.Y是第一个稳定版本;

5、预发布版本X.Y.Z-token[num]:alpha < beta < milestone < rc = cr < snapshot < "" = final = ga < sp;

6、比较版本:java -jar %M2_HOME%\lib\maven-artifact-3.6.2.jar 1.0.0-alpha 1.0.0-beta;

7、配置依赖:1.0、[1.0,2.0)、[1.0,2.0],如果是区间会自动找到区间内最新版本;

8、依赖传递以第一个申明的版本为准,除非pom文件重新申明版本

9、强制切换版本:version (omitted for conflict with newver),被动切换版本:newver (managed from version);

10、下载依赖源码:mvn dependency:resolve -Dclassifier=source,mvn dependency:resolve-sources

11、下载依赖文档:mvn dependency:resolve -Dclassifier=javadoc

12、查看依赖:mvn dependency:list,mvn dependency:tree


三、安装和发布组件

注意:安装组件和发布组件相互独立。


安装组件到本地:

mvn install:install-file -Dfile=guomi.jar -DgroupId=company -DartifactId=guomi -Dversion=0.0.1 -Dpackaging=jar


发布组件到仓库:

mvn deploy:deploy-file -Dfile=guomi.jar -DgroupId=company -DartifactId=guomi -Dversion=0.0.1 -Dpackaging=jar \

-DrepositoryId=release -Durl=releaseUrl

发表评论
评论通过审核之后才会显示。