欢迎光临散文网 会员登陆 & 注册

Maven私服毕业攻略

2021-04-23 09:39 作者:光耀三十洲  | 我要投稿

为什么要使用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之前, 我们需要进行如下三步准备工作:

  1. 拥有一个Github账号

  2. 生成一个用于访问的token

  3. 创建一个用于保存的仓库, 我习惯命名为: 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仓库

重点来了, 这是笔者最后选择的方式

准备工作

  1. 拥有一个Github账号

  2. 生成一个用于访问的token

修改Maven配置

和Github Packages相同, 我们需要修改Maven的配置(用于发布):

这里会有教程使用Github用户名和密码, 经笔者实际测试, 在使用密码时会报404的错误, 所以老老实实用token吧

修改pom文件

我们总共要做两件事:

  1. 将项目发布到本地Maven仓库

  2. 使用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作为代理需要如下步骤:

  1. 拥有一个Gitee账号

  2. 在Gitee中导入Github仓库

  3. 定时将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
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Maven私服毕业攻略的评论 (共 条)

分享到微博请遵守国家法律