【问题标题】:Why is Gradle unable to access gradle.properties?为什么 Gradle 无法访问 gradle.properties?
【发布时间】:2021-12-29 22:17:04
【问题描述】:

在我的用户主目录“C:/Users/USERNAME”中,我创建了一个包含以下内容的 gradle.properties 文件:

signing.keyId=YourKeyId
signing.password=YourPublicKeyPassword
signing.secretKeyRingFile=PathToYourKeyRingFile

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

我应该能够在 gradle 构建文件中访问它。根据this Gradle documentation,我应该能够通过提及它们的标识符来使用它们。所以我用以下内容制作了一个 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"]

这也可以运行,但是这两个值都为 null。我怀疑由于某种原因,gradle 系统没有在 c:/Users/USERNAME 文件夹中查找并且没有读取文件。您能想到什么方法来弄清楚为什么会发生这种情况?

【问题讨论】:

    标签: gradle groovy properties configuration


    【解决方案1】:

    所以,答案是 gradle.properties 没有放在用户主目录中,而是放在用户主目录下的文件夹中。

    代替

    C:\Users\USERNAME\gradle.properties
    

    必须放在

    C:\Users\USERNAME\.gradle\gradle.properties
    

    .gradle 文件夹的名称容易混淆 GRADLE_USER_HOME,不应与 USER_HOME 混淆。鉴于我发现的有关此问题的数量,我会得出结论,这是一个非常糟糕的命名约定。好吧,浪费了两个小时。

    这是SonaType site 上的一些令人困惑的文档:

    我不知道如何告诉他们这条指令不正确(当然,除非你将环境变量设置为非默认值。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2014-04-06
    • 2020-08-02
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多