maven - Gradle 7.1没有将maven工件发布到archiva
问题描述
我正在尝试使用 Gradle(7.1 版)将 maven 工件发布到 apache 档案。下面是 build.gradle.kts 文件中对此影响的节(注意:组和版本被指定为对 build.gradle.kts 文件中更高的组和版本变量的分配):
publishing {
publications {
create<MavenPublication>("federationManager") {
artifactId = "federation-manager"
from(components["java"])
}
}
repositories {
maven {
name = "fedmanagerpublish"
val internalRepoUrl = "http://cpswtng_archiva:8080/repository/internal"
val snapshotsRepoUrl = "http://cpswtng_archiva:8080/repository/snapshots"
url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else internalRepoUrl)
logger.info("URL = \"$url\"")
isAllowInsecureProtocol = true
authentication {
create<BasicAuthentication>("basic")
}
credentials {
username = archivaUser
password = archivaPassword
}
}
}
}
不幸的是,这不起作用。当运行为:
./gradlew publishFederationManagerPublicationToFedmanagerpublishRepository
Gradle 给出以下错误:
Execution failed for task ':publishFederationManagerPublicationToFedmanagerpublishRepository'.
> Failed to publish publication 'federationManager' to repository 'fedmanagerpublish'
> Could not GET 'http:/repository/snapshots/org/cpswt/federation-manager/1.0-SNAPSHOT/maven-metadata.xml'.
> URI does not specify a valid host name: http:/repository/snapshots/org/cpswt/federation-manager/1.0-SNAPSHOT/maven-metadata.xml
奇怪的是,错误消息中报告的URI以maven repo URI开头,但没有主机名和端口,即“//cpswtng_archiva:8080”。也就是说,它出现了:
http://cpswtng_archiva:8080/repository/snapshots
正变成
http:/repository/snapshots
此外,它正在尝试执行GET,而它似乎应该只执行PUT。
任何帮助表示赞赏:)
解决方案
推荐阅读
- azure-devops - Azure DevOps Yaml 文件位置
- python - 如何在不删除和重新创建的情况下更新 tkinter OptionMenu 中的选项?
- dynamics-crm - 创建非活动帐户
- sql - Select longest duration time (data type field) and client name SQL
- django - 令牌黑名单
- javascript - React - 计算选中的复选框
- sql - 同一张表上的多个连接:转换状态
- mysql - 如果 id 在另一个表中匹配,则添加具有 TRUE/FALSE 的列
- python - 在 Python/ctypes 中的结构内取消引用 C 函数指针
- android - Proguard dontwarn 命令用于重复的 zip 条目?