【发布时间】:2020-06-03 17:36:31
【问题描述】:
Maven 发布新手。我们的团队已经开始使用 Artifactory,我正试图弄清楚如何发布到它,但使用自定义工件 ID。这是我的 build.gradle 文件的相关部分
def applicationName = 'example-api'
def applicationVersion = '1.0.0.1'
def group = 'com.example.api'
def archiveName = "${applicationName}##${applicationVersion}"
bootWar {
archiveFileName = "${archiveName}.war"
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact(file("build/libs/${archiveName}.war"))
afterEvaluate {
artifactId archiveName
groupId group
version applicationVersion
}
}
}
}
artifactory {
contextUrl = "http://172.17.0.2:32447/artifactory"
publish {
repository {
repoKey = 'libs-release-local'
username = 'admin'
password = 'password1'
maven = true
}
defaults {
publications('mavenJava')
publishBuildInfo = true
publishArtifacts = true
publishPom = false
}
}
clientConfig.info.setBuildName(applicationName)
clientConfig.info.setBuildNumber(applicationVersion)
}
但它似乎永远不会与构建中生成的 WAR 文件保持相同的名称。这是我得到的最接近的:
理想情况下,我希望将工件仅称为“example-api##1.0.0.1.war”,因为它将部署到 Tomcat。
当我尝试删除 groupId 时,Artfactory 似乎无法创建 repo URL,如果我省略版本,则工件名称为 example-api##1.0.0.1-unspecified.war
有什么想法吗?
【问题讨论】:
标签: gradle artifactory