gpt4 book ai didi

gradle - Gradle未将SNAPSHOT解析为时间戳

转载 作者:行者123 更新时间:2023-12-03 05:46:16 25 4
gpt4 key购买 nike

我目前在将Gradle构建发布到快照Artifactory存储库时遇到问题,其中“SNAPSHOT”未解析为时间戳。 jar 可以在仓库中找到,但格式为``1.0.1-SNAPSHOT.jar''而不是例如'1.0.1-20180420.112216-1.jar'。当其他构建依赖于相关项目时,这会引起问题。我们目前有Maven版本,可以毫无问题地推送到相同的仓库。

我正在使用maven-publish和com.jfrog.artifactory插件。值得一提的是,我没有太多的Gradle经验。

来自build.gradle的相关部分:

apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'

artifactory {

contextUrl = ${rep.url}
publish {
ext.systemProperties = System.getenv()
println "Publishing using this user: ${systemProperties.artifactory_user}"
println "Publishing to this repo: ${systemProperties.artifactory_repo}"
repository {
repoKey = "${systemProperties.artifactory_repo}"
username = "${systemProperties.artifactory_user}"
password = "${systemProperties.artifactory_password}"
maven = true
}
defaults {
publications('mavenJava')
}
}
}

publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}

与gradle-wrapper.properties相关:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-bin.zip

环境变量来自Jenkins,与我们的Maven构建中使用的相同。

最佳答案

我完全看不到您在代码中实际设置jar名称的位置。 Maven Publishing插件的Gradle doc告诉您如何自定义 Artifact 的发布标识:

publishing {
publications {
mavenJava(MavenPublication) {
groupId 'org.gradle.sample' // Modify the artifact group
artifactId 'project1-sample'// Modify the artifact name
version '1.1' // Modify the artifact version

from components.java
}
}
}

如果您没有如上所述在发布闭包中覆盖这些值,那么 project的默认值将用于命名由项目的 groupversion属性定义的 Artifact 。例如,如果您在IntelliJ中从头启动Gradle项目,则默认版本值为 version '1.0-SNAPSHOT'

以下代码应帮助您解决问题:
publishing {
publications {
mavenJava(MavenPublication) {
version 'your_time_stamp'

from components.java
}
}
}

关于gradle - Gradle未将SNAPSHOT解析为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com