在我的用户主目录"C:/ users /USERNAME“中,我创建了一个具有以下内容的gradle.properties文件:
signing.keyId=YourKeyId
signing.password=YourPublicKeyPassword
signing.secretKeyRingFile=PathToYourKeyRingFile
ossrhUsername=your-jira-id
ossrhPassword=your-jira-password我应该能够访问这个gradle构建文件。根据这个分级文档,我应该能够通过提到它们的标识符来使用它们。因此,我用下面的内容创建了一个build.gradle文件。
println "ossrhUsername: "+ossrhUsername
println "ossrhPassword: "+ossrhPassword当我运行它时,它会失败,抱怨它找不到属性ossrhUsername。我不知道该怎么做,因为官方文档说这应该有效,它给出了一个不适用于我的例子,我不知道哪里出了问题。这是输出
d:\build\gradleplay>gradle build
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\build\gradleplay\build.gradle' line: 1
* What went wrong:
A problem occurred evaluating root project 'gradleplay'.
> Could not get unknown property 'ossrhUsername' for root project 'gradleplay' of type org.gradle.api.Project.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s另一位消息人士说,findProperty应该像这样工作:
println "ossrhUsername: "+findProperty("ossrhUsername")
println "ossrhPassword: "+findProperty("ossrhPassword")这将运行,但是从findProperty返回的值为null。
另一位消息人士说,这些值可以作为项目对象上的映射找到,并坚持认为这应该有效:
println "ossrhUsername: "+project.properties["ossrhUsername"]
println "ossrhPassword: "+project.properties["ossrhPassword"]这也会运行,但是对于这两个值我都是空的。出于某种原因,我怀疑gradle系统没有查看c:/Users/USERNAME文件夹,也没有读取文件。你能想到为什么会发生这种事吗?
发布于 2021-12-29 22:29:34
因此,答案是gradle.properties不是放在用户主目录中,而是放在用户主目录下的文件夹中。
而不是
C:\Users\USERNAME\gradle.properties它必须放在
C:\Users\USERNAME\.gradle\gradle.properties.gradle文件夹命名为GRADLE_USER_HOME,不应与USER_HOME混淆。考虑到我发现的很多问题,我会得出结论,这是一个非常糟糕的命名惯例。嗯,在这上面浪费了两个小时。
这是SonaType站点的一些令人困惑的文档

我不知道如何告诉他们这个指令是不正确的(当然,如果您将环境变量设置为一个非默认值,则例外)。
https://stackoverflow.com/questions/70525588
复制相似问题