Maven私服毕业攻略
为什么要使用Maven私服
Maven是笔者在开发中用的最多的仓库, 已经不记得和pom文件做过多少次战斗了
公开仓库里有很多优秀的项目, 但难免会有较为特殊的需求, 它除了需求过分之外, 还有很多module, 甚至同事的项目都进行了引用
传统的jar包方式显示是落后且不优雅的
面对这种情况, 搭建自己或公司的Maven私服显然是最佳解决方案
我知道在网上有许许多多类似的教程和攻略, 但笔者认为它们或多或少都缺少了一些系统性的指引, 亦或是缺少关键步骤的讲解, 自己死磕了接近一整天也拜它们所赐
故, 在这里对如何搭建Maven私服进行一次最为全面和系统的整理与解读
学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY
选择搭建方式
总共有三种比较合适的Maven私服搭建方式:
Nexus
Github仓库
Github Packages
三种方式各有特点, 需要各位根据自己的实际情况进行选择, 我来简单列举一下它们的适用的场景:
Nexus: 适合公司规模的私服搭建, 教程资源丰富, 管理容易, 但对硬件性能要求较高
Github仓库: 个人和公司均适用, 无需搭建, 但项目打包发布需要配置, 且国内访问和速度堪忧
Github Packages: 相对于Github仓库更加便捷, 项目打包发布也简便, 但在引入时需要Github认证, 适合使用Github作为开发库的团队
还是那句话, 没有最好的, 只有最合适的
选择好合适的方式后, 来开始我们的表演吧
学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY
开始搭建!
Nexus
Nexus网上的教程有太多, 贴一篇我认为不错的
需要注意的是, 新版本的Nexus要想启动必须拥有2G以上内存, 劝退了一众小型云服务器
Github Packages
为什么先说这个呢?因为我的重点在Github仓库
准备工作
在使用Github Packages之前, 我们需要进行如下三步准备工作:
拥有一个Github账号
生成一个用于访问的token
创建一个用于保存的仓库, 我习惯命名为: maven-repo
上面的步骤均可在浏览器进行, 且网上教程很多, 不再赘述
修改Maven配置
我们的Maven一般有两种情况:
本机安装的Maven: 去修改${MavenHome}/conf/settings.xml
idea自带的Maven: 创建一个settins.xml, 在idea的Maven设置中进行覆盖
修改<servers>和<profiles>标签
学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY

修改pom文件
在项目的pom文件中, 设置发布参数

再次强调, Github Packages的私服, 需要在maven中配置Github的token认证才能使用
如何使用
如果要让其它人使用Github Packages中的依赖, 需要对方拥有Github账号和认证, 并修改Maven配置
然后在pom中直接引入即可
pom引入可参考Github仓库中的方法
学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY
Github仓库
重点来了, 这是笔者最后选择的方式
准备工作
拥有一个Github账号
生成一个用于访问的token
修改Maven配置
和Github Packages相同, 我们需要修改Maven的配置(用于发布):

这里会有教程使用Github用户名和密码, 经笔者实际测试, 在使用密码时会报404的错误, 所以老老实实用token吧
修改pom文件
我们总共要做两件事:
将项目发布到本地Maven仓库
使用site-maven-plugin自动将仓库同步到Github
选择一个本地路径作为Maven仓库, 要注意加"file:"哦

完成上面的配置后, 执行maven的deploy命令, 会在本地文件路径中生成文件, 并同步上传到Github仓库
如何使用
要想让其它人使用你的依赖, 我们需要完成:
1.配置私服地址 2.在pom中引入依赖
先配置私服地址, 注意这里和仓库的地址不同, 要在github前增加raw

国内网友的坑
国内的小伙伴们在引入依赖时大概率会遇到无法访问raw.github的问题, 还好我们有gitee, 可以采用曲线拯救的方式
学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY
使用Gitee作为代理需要如下步骤:
拥有一个Gitee账号
在Gitee中导入Github仓库
定时将Github仓库同步到Gitee
前两步骤不再赘述, 第三步推荐使用Github Actions, 可以参考这位大神的文章
接下来我们只需要修改下私有仓库的地址即可:

学习更多,请点击:https://www.bilibili.com/video/BV1dy4y1W7Db
https://www.bilibili.com/video/BV1Qb4y1D75J
https://www.bilibili.com/video/BV1qo4y1f7Uw
https://www.bilibili.com/video/BV1s64y1i77s
https://www.bilibili.com/video/BV1yy4y147TY
作者:Houtaroy
链接:https://juejin.cn/post/6953756793331777543
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。