如何使用命令行将Maven工件上传到Github软件包?

我正在尝试将尚未构建的Maven工件上载到组织的GitHub软件包注册表中。我正在使用deploy:deploy-file Maven插件来这样做。这是我一直在使用的命令:

mvn deploy:deploy-file 
-Dfile=[THE JAR FILE]
-Durl=https://maven.pkg.github.com/[ORG] 
-Dregistry=https://maven.pkg.github.com/[ORG] 
-DgroupId=[GID]
-DartifactId=[ARTIFactID] 
-Dversion=[VERSION]
-DgeneratePom=false 
-Dtoken=[MY GITHUB TOKEN]

结果是我收到来自Github的401错误。 我已经确保:

  • 我在组织内部拥有足够的权限(当前是所有者)。
  • 我正在使用的令牌是有效的,并且具有适当的范围:我将所有令牌都进行了测试。

此外,github软件包页面指出:

<!-- Just a single step: Deploy using a GitHub token -->
$ mvn deploy -Dregistry=https://maven.pkg.github.com/[org] -Dtoken=GH_TOKEN

为什么在Maven文档中找不到有关注册表或令牌参数的任何信息? 我可以仅使用cli将此文件上载到组织的注册表中而无需任何类型的XML配置文件吗?

谢谢。

lixiaolin823 回答:如何使用命令行将Maven工件上传到Github软件包?

网址也应具有一个存储库名称。

在我的一个项目中,我在pom.xml中有这个

$y = """,$x,"""
,

我在此方面取得了成功:

mvn deploy:deploy-file -Dfile=./[JAR].jar 
    -DpomFile=./pom.xml 
    -DrepositoryId=github 
    -Durl=https://maven.pkg.github.com/[OWNER]/[REPO] 
    -Dtoken=GH_TOKEN

在我的maven主目录中还有一个settings.xml:

<settings>
    <servers>
        <server>
        <id>github</id>
            <username>[GITHUB USERNAME]</username>
            <password>[GENERATED ACCESS TOKEN]</password>
        </server>
    </servers>
</settings>

在我的POM中:

...
<distributionManagement>
    <repository>
        <id>github</id>
        <name>GitHub Packages</name>
        <url>https://maven.pkg.github.com/[OWNER]/[REPO]</url>
    </repository>
</distributionManagement>
...
,

为了解决 repo 问题 - 由于我不希望每个包都发布到不同的 repo,我创建了一个名为 packages 的 repo,并使用相同的方法将所有其他 repo 中的包发布到它配置与其他两个答案一样。

本文链接:https://www.f2er.com/3012277.html

大家都在问