〜/ .gradle/gradle.properties文件未被读取

Joh*_*uiz 22 gradle build.gradle

这里有一个类似的问题:没有从〜/ .gradle/gradle.properties读取Gradle属性,但它没有解决我的问题.

在我看来,gradle不是在阅读我的~/.gradle/gradle.properties文件.

我有一个gradle.properties文件~/.gradle,它具有在上传到maven central之前签署工件所需的属性.它看起来像这样:

signing.keyId=12345678
signing.password=myPassword
signing.secretKeyRingFile=/home/me/.gnupg/secring.gpg

sonatypeUsername=me
sonatypePassword=myOtherPassword
Run Code Online (Sandbox Code Playgroud)

当我尝试构建我的项目时,它抱怨没有sonatypeUsername属性,因此:

> Could not find property 'sonatypeUsername' on root project 'yourProject'.
Run Code Online (Sandbox Code Playgroud)

这是我的项目build.gradle的相关部分:

uploadArchives {
    repositories {
        mavenDeployer {

            // lots of non-interesting things here

            repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
                authentication(userName: project.property("sonatypeUsername"), password: project.property("sonatypePassword"))
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用调试构建项目时,这是我看到的有关属性的内容:

$ ./gradlew --stacktrace --debug build

[INFO] [o.g.BuildLogger] Starting Build
[DEBUG] [o.g.BuildLogger] Gradle user home: /home/me
[DEBUG] [o.g.BuildLogger] Current dir: /home/me/dev/yourProject
[DEBUG] [o.g.BuildLogger] Settings file: null
[DEBUG] [o.g.BuildLogger] Build file: null
[DEBUG] [o.g.i.b.BuildSourceBuilder] Starting to build the build sources.
[DEBUG] [o.g.i.b.BuildSourceBuilder] Gradle source dir does not exist. We leave.
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found env project properties: []
[DEBUG] [o.g.i.DefaultGradlePropertiesLoader] Found system project properties: []
[DEBUG] [o.g.a.i.a.m.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /home/me/.m2/repository
[DEBUG] [o.g.i.ScriptEvaluatingSettingsProcessor] Timing: Processing settings took: 0.286 secs
[INFO] [o.g.BuildLogger] Settings evaluated using empty settings script.
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] Looking for project properties from: /home/me/dev/yourProject/gradle.properties
[DEBUG] [o.g.i.ProjectPropertySettingBuildLoader] project property file does not exists. We continue!
[INFO] [o.g.BuildLogger] Projects loaded. Root project using build file '/home/me/dev/yourProject/build.gradle'.
Run Code Online (Sandbox Code Playgroud)

Joh*_*uiz 18

问题是我做出了一个不正确的假设.如果您查看gradle文档的第14.2节,它会说:

您可以将gradle.properties文件放在Gradle用户主目录(由"GRADLE_USER_HOME"环境变量定义,如果未设置默认设置为USER_HOME/.gradle)或项目目录中.

错误的假设是USER_HOME只是默认为标准的linux HOME环境变量.这不是真的.

一旦我export USER_HOME=$HOME在我的~/.bashrc一切工作

  • 对认为自己的全局`gradle.properties`未包含在您的AndroidStudio项目中的任何人进行提示...当您将Project Navigator设置为“项目”时,不会显示全局`gradle.properties`文件”。如果将其切换为“ Android”并展开Gradle Scripts部分,您将在此处看到它... (2认同)

小智 5

我正在使用 Windows,并且遇到了同样的问题。我注意到我的 ~/.gradle/gradle.properties 文件在开头有一个字节顺序标记(BOM),我认为它有 Windows 行结尾(\r\n)。我通过删除 ~/.gradle/gradle.properties 文件重新创建了它,然后用 vim 创建了一个新文件,其内容与以前相同,内容为 unix 行结尾 (\n),然后它开始工作。我不知道是 BOM、行结尾还是两者的组合导致了该问题,但我认为我应该分享这一点,以防其他人也有同样的原因导致此问题。