首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Gradle不能访问gradle.properties?

为什么Gradle不能访问gradle.properties?
EN

Stack Overflow用户
提问于 2021-12-29 22:17:04
回答 1查看 1.6K关注 0票数 0

在我的用户主目录"C:/ users /USERNAME“中,我创建了一个具有以下内容的gradle.properties文件:

代码语言:javascript
复制
signing.keyId=YourKeyId
signing.password=YourPublicKeyPassword
signing.secretKeyRingFile=PathToYourKeyRingFile

ossrhUsername=your-jira-id
ossrhPassword=your-jira-password

我应该能够访问这个gradle构建文件。根据这个分级文档,我应该能够通过提到它们的标识符来使用它们。因此,我用下面的内容创建了一个build.gradle文件。

代码语言:javascript
复制
println "ossrhUsername: "+ossrhUsername
println "ossrhPassword: "+ossrhPassword

当我运行它时,它会失败,抱怨它找不到属性ossrhUsername。我不知道该怎么做,因为官方文档说这应该有效,它给出了一个不适用于我的例子,我不知道哪里出了问题。这是输出

代码语言:javascript
复制
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应该像这样工作:

代码语言:javascript
复制
println "ossrhUsername: "+findProperty("ossrhUsername")
println "ossrhPassword: "+findProperty("ossrhPassword")

这将运行,但是从findProperty返回的值为null。

另一位消息人士说,这些值可以作为项目对象上的映射找到,并坚持认为这应该有效:

代码语言:javascript
复制
println "ossrhUsername: "+project.properties["ossrhUsername"]
println "ossrhPassword: "+project.properties["ossrhPassword"]

这也会运行,但是对于这两个值我都是空的。出于某种原因,我怀疑gradle系统没有查看c:/Users/USERNAME文件夹,也没有读取文件。你能想到为什么会发生这种事吗?

EN

回答 1

Stack Overflow用户

发布于 2021-12-29 22:29:34

因此,答案是gradle.properties不是放在用户主目录中,而是放在用户主目录下的文件夹中。

而不是

代码语言:javascript
复制
C:\Users\USERNAME\gradle.properties

它必须放在

代码语言:javascript
复制
C:\Users\USERNAME\.gradle\gradle.properties

.gradle文件夹命名为GRADLE_USER_HOME,不应与USER_HOME混淆。考虑到我发现的很多问题,我会得出结论,这是一个非常糟糕的命名惯例。嗯,在这上面浪费了两个小时。

这是SonaType站点的一些令人困惑的文档

我不知道如何告诉他们这个指令是不正确的(当然,如果您将环境变量设置为一个非默认值,则例外)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70525588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档