【Github上创建仓库】

首先,在GitHub上创建自己的仓库(mvn-repo):




maven私库使用 maven搭建私有仓库_maven setting文件


【配置本地setting文件】

找到本地的maven settings文件,配置server:


maven私库使用 maven搭建私有仓库_github_02


有两种选择,可以选择配置username和password,或者选择配置Personal access tokens(也是填充到password字段)。

优先使用Personal access tokens,因为有些公司内部可能会对用户名和密码做限制(我也不知道为什么)。

前者即是GitHub的用户名以及密码,后者需要在GitHub上进行申请,步骤如下:


maven私库使用 maven搭建私有仓库_github_03


maven私库使用 maven搭建私有仓库_maven setting文件_04


maven私库使用 maven搭建私有仓库_maven_05


选择对应的权限,并标注Note:


maven私库使用 maven搭建私有仓库_maven私库使用_06


然后点击查看:


maven私库使用 maven搭建私有仓库_source code怎么用_07


maven私库使用 maven搭建私有仓库_maven_08


上图红框即是你的personal access token。

注:此token会不断发生变化,每一次查看都会更新,更新后之前的不可用,所以要妥善保存。

【增加本地临时存储库】

在pom文件中增加

maven-deploy-plugin            2.8.2                internal.repo::default::file://${project.build.directory}/mvn-repo

然后执行mvn clean deploy。


maven私库使用 maven搭建私有仓库_github_09


maven私库使用 maven搭建私有仓库_maven私库使用_10


如下图,版本已经正确地发布到本地指定的存储库中了。


maven私库使用 maven搭建私有仓库_github_11


【配置远程的github服务】

在pom文件中增加以下几行:

github

【发布到远程的github指定的仓库】

在pom文件中配置以下几行:

org.apache.maven.plugins    maven-source-plugin    3.2.1attach-sourcesjar-no-forkcom.github.github    site-maven-plugin    0.12Creating site for ${project.artifactId} ${project.version}true${project.build.directory}/mvn-reporefs/heads/mastertrue**/*mvn-repoliufaruisitedeploy

再次执行mvn clean deploy命令即可发布到GitHub的maven仓库中。


maven私库使用 maven搭建私有仓库_source code怎么用_12


maven私库使用 maven搭建私有仓库_maven setting文件_13


如上图即为成功;

我们可以查看我们的mvn-repo项目,发现内容已经发生了变化:


maven私库使用 maven搭建私有仓库_github_14


maven私库使用 maven搭建私有仓库_maven私库使用_15


【使用依赖包】

在新项目的pom文件中增加以下行:

mvn-repohttps://raw.github.com/liufarui/mvn-repo/mastertruealways

在新项目的pom文件中增加依赖:

com.github.liufarui        demo-maven-github-repo        0.0.1-SNAPSHOT

由于我们之前开发的这个是个maven插件工程,所以增加以下行进行使用:

com.github.liufarui            demo-maven-github-repo            0.0.1-SNAPSHOT

我们现在可以在右侧Maven中看到我们的插件


maven私库使用 maven搭建私有仓库_source code怎么用_16


执行看结果:


maven私库使用 maven搭建私有仓库_maven私库使用_17


【demo地址】

以上,即是整个Github创建maven仓库的内容,为了方便大家查看学习,我把demo项目放到了我的github上,大家可以自行查看,有问题也可以在评论区随时讨论:


maven私库使用 maven搭建私有仓库_maven setting文件_18


https://github.com/liufarui/code-demo

【问题】

[ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.12:site (default) on project path: Error creating commit: Invalid request.

遇到以上问题是因为没有设置姓名,在setting中进行设置:


maven私库使用 maven搭建私有仓库_source code怎么用_19


Error creating blob: cannot retry due to server authentication, in streaming mode

很多人都遇到了此问题,此问题一般是权限问题,有可能是用户名密码不对,也有可能是公司网络做了特殊的限制,还有一些奇怪的原因,一般可以通过配置Personal access tokens去解决,附上网上的讨论链接:

https://github.com/github/maven-plugins/issues/36

以上,是如何搭建私有的maven仓库,这个仓库必须是有个人账户认证才可以使用的,无法确保大家可以一起用,之后,会再写一篇如何搭建public仓库的博客。


如果觉得本文对你有帮助,可以转发关注支持一下