在github上搭自己的maven私服

返回
Author Avatar
钢翼
2020-09-20
编程
92

maven私服一般都是通过nexus搭建,公司内部局域网用这种方式自然是首选,首先代码安全,其次下载速度有保障。

当对于个人用户来说,我们更追求自由,局域网的方案是不可能的,互联网能访问才是王道。

互联网方案1:中央仓库的方案,对于开源项目来说自然是最好的,但是一些不是开源的包就不能在中央仓库发布了。而且中央仓库也不适合一些发布频率高的项目。

互联网方案2:在自己的云服务器上搭建nexus,一般云服务器都是1-2g小内存,跑自己项目才勉强够用,再加一个吃内存的大户不太现实。

互联网方案3:通过github搭自己的maven私服。

其实github packages 2019年就已经正式发布了。不知道为什么网上搜的github maven私服都是用site-maven-plugin插件这套东西。这个虽然可以发布,但是引用必须得通过raw.githubusercontent.com,所以你实际上必须把库公开才能引用,并不能算是私服,另外配置也不够简单。作为过来人,site-maven-plugin配置不够简单,不能私有,发布容易出异常,经常得发布几次才能成功。这里就不介绍了。

下面介绍怎么使用github packages

https://docs.github.com/cn/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages

上面链接是教程,如果懒得看,我总结下:

1.新建空仓库作为私服仓库。

2.登录github后,在 https://github.com/settings/tokens 上面添加token。

3.用户配置:

在maven的settings.xml中添加用户名和token

<servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>


4.发布:

在pom.xml添加以下内容,其中OWNER是你的用户名,REPOSITORY是你的github仓库名。添加后执行mvn deploy进行发布

<distributionManagement>
   <repository>
     <id>github</id>
     <name>GitHub OWNER Apache Maven Packages</name>
     <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
   </repository>
</distributionManagement>

5.引用:

在pom.xml添加以下内容,其中OWNER是你的用户名,REPOSITORY是你的github仓库名,如果你喜欢写在maven的settings.xml也没问题

<repositories>
  <repository>
          <id>github</id>
          <name>GitHub OWNER Apache Maven Packages</name>
          <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
        </repository>
    </repositories>