如何解决如何从 Gradle 中的私有 Gitlab Maven 项目注册表存储库声明依赖项?
我有一个私人项目,我在其中配置了一个 GitLab CI/CD 管道,用于构建项目并将其发布到同一项目的 GitLab 包注册表。那行得通。
在另一个项目中,我想向该包添加依赖项。尽管我在该项目的 build.gradle 中添加了 Maven 存储库声明,但我收到一个错误消息,指出无法解析依赖项,我应该声明提供工件的存储库。 >
我也尝试添加身份验证令牌,但不知何故我没能让它工作。
有人看到我在这里做错了吗?
这是我尝试过的:
build.gradle
repositories {
mavenCentral()
maven {
url 'https://gitlab.com/api/v4/groups/MY-GROUP-ID-THAT-I-ENTERED/-/packages/maven'
name 'Gitlab'
credentials(HttpHeaderCredentials) {
name = 'Private-Token'
value = 'myPrivatetokenThatIGenerated'
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
dependencies{
implementation 'de.dependeny.organisation:project-name:0.1.0-SNAPSHOT'
}
我从设置->访问令牌在源项目中创建了令牌,将其命名为私有令牌,检查了读取注册表。我也用 read_api 试过了。
我发布的项目的build.gradle如下:
repositories {
mavenCentral()
maven{
url "https://gitlab.com/api/v4/projects/MYPROJECTID/packages/maven"
name "GitLab"
credentials(HttpHeaderCredentials){
name = 'Job-Token'
value = System.getenv("CI_JOB_TOKEN")
}
authentication{
header(HttpHeaderAuthentication)
}
}
}
publishing {
publications {
maven(MavenPublication) {
artifactId = 'my-customprojectname'
artifact sourceJar
artifact jar
}
}
repositories {
maven{
url "https://gitlab.com/api/v4/projects/MYPROJECTID/packages/maven"
name "GitLab"
credentials(HttpHeaderCredentials){
name = "Job-Token"
value = System.getenv("CI_JOB_TOKEN")
}
authentication{
header(HttpHeaderAuthentication)
}
}
}
}
解决方法
在 build.gradle 中的链接存储库声明中存在错误。
它应该是项目而不是组,并且在包名称之后没有 /-/。
它应该像
'https://gitlab.com/api/v4/projects/PROJECT_ID/packages/maven'
而不是 'https://gitlab.com/api/v4/groups/MY-GROUP-ID-THAT-I-ENTERED/-/packages/maven'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。