Deploy插件是Apache Maven团队提供的官方插件,最新版本2.8.2,发布于2014-08-27。该插件可以将构建出的构件直接部署到POM配置的远程库中。
默认该插件已经配置在Maven的deploy阶段使用,而且该插件也没有配置参数,所以无需在项目的POM中配置该插件,直接执行如下命令即可。
mvn deploy
1. 对于一个Maven构件,其发布信息通常包括如下:
- 构件元数据
- 构件代码包本身
- POM
- MD5/SHA1校验文件
2. 而要部署Maven构件,就需要在Maven项目的POM中提供如下配置信息:
- 远程库,如URL、访问协议、访问账户
- 构件,如group, artifact, version, packing, classifier
- 发布者,如实际实现部署的wagon工具
3. Deploy插件提供的goals
- deploy:deploy,Maven项目的部署
该goal仅支持Maven项目。
- deploy:deploy-file,任何单一构件的部署
该goal支持各种项目,不限于Maven项目。
4.deploy:deploy的用法
- 对于正式的发布,在POM中配置<distributionManagement/>给出远程库<repository/>的url;
- 对于非正式的发布,还可以在POM中配置<distributionManagement/>给出远程库<snapshotRepository/>的url;
- 如果要发布Maven项目的网站,还可以在POM中配置<distributionManagement/>给出<site/>的url;
- 项目的POM中配置<distributionManagement/>只给出了远程库的url,要配置访问远程库的username/password,还需要在settings.xml中配置<server>;
直接执行mvn deploy命令即可。
5. deploy:deploy-file的用法
- 主要用于非Maven项目的构件部署;
- 只能在命令行中手工执行;
- 如果部署的构件没有POM,则默认生成一个通用的POM;
mvn deploy:deploy-file -Durl=file://C:\m2-repo \
-DrepositoryId=some.id \
-Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=test] \
[-DgeneratePom=true] \
[-DgeneratePom.description="My Project Description"] \
[-DrepositoryLayout=legacy] \
[-DuniqueVersion=false]
参考链接:
http://maven.apache.org/plugins/maven-deploy-plugin/
https://github.com/apache/maven-deploy-plugin/