我只是在学习maven,最近我们需要越来越多。我想知道
之间的区别 mvn clean install
mvn release
mvn deploy
请尽可能具有描述性。
答案 0 :(得分:199)
clean
,install
和deploy
阶段有效lifecycle phases,调用它们会触发它们之前的所有阶段和目标绑定到这些阶段。
mvn clean install
此命令按顺序调用clean
阶段然后调用install
阶段:
clean
:删除项目目录中构建时生成的文件(默认为target
)install
:将软件包安装到本地存储库中,以用作本地其他项目的依赖项。mvn deploy
此命令调用deploy
阶段:
deploy
:将最终包复制到远程存储库,以便与其他开发人员和项目共享。mvn release
这不是一个有效的阶段,也不是一个目标,所以这不会做任何事情。但是,如果引用用于自动化发布管理的Maven Release Plugin。发布项目分两步完成:prepare
和perform
。记录在案:
准备发布版即可通过 发布阶段之后:
- 检查来源中没有未提交的更改
- 检查是否没有SNAPSHOT依赖项
- 将POM中的版本从x-SNAPSHOT更改为新版本(您 将提示输入版本 使用)
- 转换POM中的SCM信息以包含最终信息 标签的目的地
- 针对修改后的POM运行项目测试以确认一切 正常运作
- 提交修改后的POM
- 使用版本名称标记SCM中的代码(将会提示 对)
- 将POM中的版本转换为新值y-SNAPSHOT(这些值 也会被提示)
- 提交修改后的POM
然后:
执行发布会运行 发布阶段之后:
- 使用可选标记
从SCM网址结帐- 运行预定义的Maven目标以释放项目(默认情况下, 部署站点部署)
答案 1 :(得分:24)
mvn install
会将您打包的maven项目放入本地存储库,以便将您的项目作为依赖项用于本地应用程序。mvn release
基本上会将您当前的代码放在SCM的标记中,更改项目中的版本。mvn deploy
会将您打包的maven项目放入远程存储库,以便与其他开发人员共享。资源: