今天记录一下如何配置 Apache Maven 以将包发布到 GitHub Packages 并将存储在 GitHub Packages 上的包用作 Java 项目中的依赖项。(注意⚠️:项目必须上传到github的仓库否则无法部署)
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配置文件
第三步,设置你要发布的项目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
部署成功
去GitHub Packages看下
第五步,在其他需要包依赖的项目pom.xml中引用
参考文章:不是吧阿sir,你不会还不知道Github可以当做Maven仓库吧
注意:本文归作者所有,未经作者允许,不得转载