Github搭建远程Maven仓库

今天记录一下如何配置 Apache Maven 以将包发布到 GitHub Packages 并将存储在 GitHub Packages 上的包用作 Java 项目中的依赖项。(注意⚠️:项目必须上传到github的仓库否则无法部署)

GitHub注册Maven仓库官方教程

Steps:

  • 生成用于发布、安装和删除 GitHub 包的访问令牌token(生成后请保存好,后续token不会再显示)
  • 配置你的.m2/settings.xml (如果 ~/.m2/settings.xml 文件不存在,请新建该文件。)
  • 设置你需要发布的maven项目
  • 部署
  • 引用

第一步很简单,不说。(不懂的可以看下文章底部的参考文章)

第二步:1、settings.xml文件

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <activeProfiles>
    <activeProfile>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
        </repository>
        <repository>
          <id>github</id>
          <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>
  • USERNAME替换为你的github账号。
  • TOKEN替换为第一步生成的访问令牌。
  • OWNER 替换为拥有该仓库的用户或组织帐户的名称
  • REPOSITORY 替换为包含项目的仓库的名称

2、IDEA maven设置 覆盖settings.xml配置文件

IDEA设置maven.png

第三步,设置你要发布的项目Packages的POM.xml文件

<distributionManagement>
   <repository>
     <id>github</id>
     <name>GitHub OWNER Apache Maven Packages</name>
     <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
   </repository>
</distributionManagement>
  • OWNER 替换为拥有该仓库的用户或组织帐户的名称
  • REPOSITORY 替换为包含项目的仓库的名称

第四步,deploy部署(项目必须上传到github才能deploy成功

mvn deploy -Dmaven.test.skip=true

deploy.png

部署成功

部署成功.png 去GitHub Packages看下

Packages GitHub.png

第五步,在其他需要包依赖的项目pom.xml中引用

引用.png

参考文章:不是吧阿sir,你不会还不知道Github可以当做Maven仓库吧


已有 0 条评论

    感谢参与互动!