Maven私服
Maven是笔者在开发中用的最多的仓库, 已经不记得和pom文件做过多少次战斗了
公开仓库里有很多优秀的项目, 但难免会有较为特殊的需求, 它除了需求过分之外, 还有很多module, 甚至同事的项目都进行了引用
传统的jar包方式显示是落后且不优雅的
nexus3最低的2G内存启动限制干掉了我的腾讯云小服务器
网上千篇一律的使用Github Repository作为Maven仓库的教程, 实际操作复杂不说, 在我进行版本更新时竟然还出现了问题
只有Github Packages冲我伸出了援助之手
搭建
Github Packages
在使用Github Packages之前, 我们需要进行如下三步准备工作:
- 拥有一个Github账号
- 生成一个用于访问的token
- 创建一个用于保存的仓库, 我习惯命名为: maven-repo
上面的步骤均可在浏览器进行, 且网上教程很多, 不再赘述
修改Maven配置
配置文件是:${MavenHome}/conf/settings.xml
我们需要修改里面的和
<servers>
<server>
<id>服务id, 我使用的是: github</id>
<username>你的Github账号名称</username>
<password>你的Github访问token</password>
</server>
</servers>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>服务id, 和server标签中保持一致</id>
<name>自定义, 我写的是: GitHub 账号名称 Apache Maven Packages</name>
<url>https://maven.pkg.github.com/Github账号名称/用于保存的仓库名称</url>
</repository>
</repositories>
</profile>
</profiles>
如果你使用的是idea自带的maven, 可以只写一个settings.xml, 在配置里进行覆盖即可
修改pom文件
maven仓库准备就绪, 接下来只要按照正常的流程, 设置打包发布即可:
<distributionManagement>
<repository>
<id>服务id</id>
<name>GitHub 账号名称 Apache Maven Packages</name>
<url>https://maven.pkg.github.com/Github账号名称/用于保存的仓库名称</url>
</repository>
</distributionManagement>
标签中的内容和我们上一步maven中的配置一模一样
接下来只需要运行打包命令, 我们的私有依赖就发布成功啦
注意有坑
Github Packages的私服, 需要在maven中配置Github的token认证才能使用, 这对于非Github团队的工作配合会十分困难, 这种情况下还是推荐使用私服!