无法使用gradle.properties

时间:2019-07-01 10:36:51

标签: java gradle

我是Gradle的新手,正在尝试通过gradle.properties文件创建一个可配置的变量。

为此,我在项目的根目录下创建了一个gradle.properties文件,并定义了一个构建目录,如下所示:

buildDir="~/my/custom/build/directory"

在我的build.gradle文件中,我引用了这样的变量:

libsDirName = buildDir

这不起作用。如果我将buildDir中的字符串交换了gradle.properties,它将建立到正确的位置。为什么会这样?

这是完整的build.gradle文件:

plugins {
    id 'java-library'
}

// This fails
libsDirName = buildDir

// This builds correctly
libsDirName = "~/my/custom/build/directory"

repositories {
    jcenter()
}

dependencies {
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:23.0'
    testImplementation 'junit:junit:4.12'
}

2 个答案:

答案 0 :(得分:1)

编辑:仅将jar文件获取到特定目录。

我希望您不能在gradle构建期间限制创建tmp资源。 因此,该想法是在gradle构建成功后将jar文件复制到特定目录。

我建议引用此链接来复制jar。

gradle - copy file after its generation

您更改buildDir =“〜/ my / custom / build / directory” 到buildDir =〜/ my / custom / build /目录并尝试。

此外,您可以在buil.gradle文件中添加println buildDir并检查其打印内容吗。

答案 1 :(得分:1)

那不是您在Gradle文件中声明和访问变量的方式。请参阅以下内容:

下面是如何声明变量

  

def buildDir =“〜/ my / custom / build / directory”

下面是如何使用其值

  

libsDirName =“ $ {buildDir}”

让我知道您是否遇到任何问题。快乐编码:)