我是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'
}
答案 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}”
让我知道您是否遇到任何问题。快乐编码:)