目录
一直有个困扰的问题,就是本地项目自己打的包要提供给其他项目使用,但是又没有搭建自己的私服,这种情况下就只能在maven的pom里面手动引入包,那么有哪种平台可以提供这种私服,可以上传自己的jar包,提供maven仓库的能力,这里采用阿里的云效平台。具体步骤如下,希望对大家有帮助。
一、 云效控制台地址
https://packages.aliyun.com/maven
二、按要求注册
三、进入控制台
如上图,云效会创建2个仓库,release和snapshot
以release为例。
四、生产库-release
五、推送依赖包到云效私服
选择推送(覆盖式)
直接下载setting.xml,该文件中会配置服务账号和密码,直接使用,不需要犹豫,如下图。
下载完setting.xml后替换原有的setting.xml,一般是在maven目录的conf目录下
六、上传本地包到云效私服
需要先配置工程的父pom.xml,配置如下,增加distributionManagement,
distributionManagement中的内容需按repository的id和
snapshotRepository的id去setting.xml中查找。
<distributionManagement>
<repository>
<id>rdc-releases</id>
<url>https://packages.aliyun.com/maven/repository/xxxx-release-xxxx/</url>
</repository>
<snapshotRepository>
<id>rdc-snapshots</id>
<url>https://packages.aliyun.com/maven/repository/xxxxx-snapshot-xxxx/</url>
</snapshotRepository>
</distributionManagement>
打包,点击idea中的deploy,idea会自动打包并上传到云效私服,jar包发送的位置会根据打包后的jar名去区分,如果含有snapshot,会发送到非生产库-snapshot,其他发送到生产库-release。
打包成功后,访问控制台:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,如下图则为发布私服成功。
七、拉取云效私服上面的依赖包
选择Maven->生产库-release->仓库指南->Maven方式->拉取(覆盖方式)
下载setting.xml,如果上一步推送已下载,则无需下载,两步的配置一样。用该setting.xml覆盖原有的setting.xml。
选择包列表中对应包的maven配置,复制到pom.xml中,并在包根目录下执行mvn clean intall
如果出现intall失败,比如出现依赖包下载失败,一直去阿里镜像下载。
解决方案如下:
mvn help:effective-settings
在项目根目录下执行如上命令,等待片刻,会出现setting.xml的内容,查看是否与下载的setting.xml一致,如果不一致,需重新替换。如果一致还出现该问题,请查看如下地址:
https://thoughts.aliyun.com/sharespace/5e8c436d546fd9001aee824a/docs/5f9914b60f12b2002414618f