gpt4 book ai didi

java - Gradle (2.3.9) 神秘地讨厌将 "version"设置为数字

转载 作者:行者123 更新时间:2023-12-02 04:45:48 27 4
gpt4 key购买 nike

我对此感到很困惑。如果我传入这个版本号,gradle 会失败:

gradle -Pversion=120151021 build
:eventing:compileJava

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':eventing:compile'.
> Could not find eventing-test.jar

我不知道为什么它认为它需要找到 eventing-test.jar。这是我为测试类的 jar 创建的名称。似乎是一条转移注意力的消息。

如果我简单地将任何字母字符放在版本字符串前面,它就可以工作:

gradle -Pversion=z120151021 build
:eventing:compileJava
:eventing:processResources UP-TO-DATE
:eventing:classes
etc
etc

如果只是以数字开头好像有问题:

gradle -Pversion=11abc build
:eventing:compileJava

FAILURE: Build failed with an exception.

虽然,在一个真正奇怪的转弯中,如果它以单个“1”开头也没关系:

gradle -Pversion=1abc build

我在 Gradle 文档中没有看到任何内容表明数字版本号有问题。

最佳答案

我仍然不知道为什么原始设置不起作用,但我按如下方式解决了它。在每个 jar 和发布目标中,我特别引入了另一个变量作为版本。例如。

task testJar(type: Jar) {
from sourceSets.test.output
version = System.getProperty('RELEASE_VERSION', "unversioned")
appendix="test"
}
jar {
version = System.getProperty('RELEASE_VERSION', "unversioned")
}

请注意,使用此技巧在外部 gradle 级别设置版本是行不通的。它会导致我之前遇到的相同错误。

不起作用:

apply plugin: 'application'
version = System.getProperty('RELEASE_VERSION', "unversioned")
...define tasks and such that would use "version" ...

关于java - Gradle (2.3.9) 神秘地讨厌将 "version"设置为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33269797/

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