Pau*_*arz 11 gradle maven github-package-registry
我是公共 GitHub 存储库的维护者。我已经设置了 GitHub Actions 来发布到 GitHub 包。您可以在此处看到已创建的包:
https://github.com/paulschwarz/spring-dotenv/packages/135114
我注意到的第一件事是 GitHub 只提供了一个 Maven 安装片段。我使用此代码将依赖项添加到另一个项目,它似乎有效。
现在我想将此包导入到 Gradle 项目中。我加了
dependencies {
implementation ('me.paulschwarz:spring-dotenv:0.0.3')
}
Run Code Online (Sandbox Code Playgroud)
和 gradle 告诉我
Could not find me.paulschwarz:spring-dotenv:0.0.3.
Searched in the following locations:
- https://jcenter.bintray.com/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom
- https://repo.maven.apache.org/maven2/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom
Run Code Online (Sandbox Code Playgroud)
这已经很奇怪了,因为我的 Maven 项目在解决依赖项方面似乎没有问题。我必须说我很好奇它是如何工作的?GitHub 包肯定没有与 JCenter 或 Maven Central 集成?
无论如何,下一步,添加存储库
repositories {
jcenter()
mavenCentral()
maven { url = uri('https://maven.pkg.github.com/paulschwarz/spring-dotenv') }
}
Run Code Online (Sandbox Code Playgroud)
此时,Gradle 应该知道在哪里可以找到包。但是,我得到了这个
> Could not resolve me.paulschwarz:spring-dotenv:0.0.3.
> Could not get resource 'https://maven.pkg.github.com/paulschwarz/spring-dotenv/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom'.
> Could not GET 'https://maven.pkg.github.com/paulschwarz/spring-dotenv/me/paulschwarz/spring-dotenv/0.0.3/spring-dotenv-0.0.3.pom'. Received status code 401 from server: Unauthorized
Run Code Online (Sandbox Code Playgroud)
这真的是未经授权的401吗?或者 URL 错误并且它试图访问授权端点?
如果是正品,为什么?这是一个带有公共包的公共仓库。我可以匿名直接从 GitHub 页面下载该包。我在 Gradle 中做错了什么?
正如您所观察到的,GitHub 目前不支持未经授权的包访问(但将来计划),正如他们的一位员工所解释的那样(2020 年 5 月 27 日):
\n\n\n我们的 Maven 服务目前不允许\xe2\x80\x99 未经授权的访问。我们计划将来提供此服务,但在此之前需要稍微改进一下服务。
\n对于操作,您可以将 PAT 添加到您的机密存储中或使用 GITHUB_TOKEN 进行身份验证。在您的 settings.xml 中,我们建议使用环境变量方法(请参阅 setup-java 4),这样您就不会\xe2\x80\x99t 将标记存储在文件中。
\n
归档时间: |
|
查看次数: |
2293 次 |
最近记录: |