我正在尝试将尚未构建的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配置文件吗?
谢谢。
答案 0 :(得分:0)
网址也应具有一个存储库名称。
在我的一个项目中,我在pom.xml中有这个
$y = """ , $x , """
答案 1 :(得分:0)
我在此方面取得了成功:
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>
...
答案 2 :(得分:0)
为了解决 repo 问题 - 由于我不希望每个包都发布到不同的 repo,我创建了一个名为 packages
的 repo,并使用相同的方法将所有其他 repo 中的包发布到它配置与其他两个答案一样。