我在用Gradle做一个Java项目。当前build.gradle文件的工作版本如下。
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
id 'java'
}
group = 'com.myproject'
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
'log4j:log4j:1.2.14'
}
这里的项目版本(1.0)和log4j依赖版本(1.2.14)都被硬编码在构建文件中。但我想避免这种情况,在一个单独的属性文件中维护这些版本,这样就不需要因为版本号的变化而修改构建文件。我创建了一个属性文件'build.properties',内容如下。
VERSION_NUMBER = '1.0'
LOG4J_VERSION = '1.2.14'
我创建了一个属性文件'build.properties',内容如下: 然后尝试在build.gradle中使用如下的属性值
version = VERSION_NUMBER
dependencies {
compile 'log4j:log4j:LOG4J_VERSION'
}
但这似乎行不通。
我如何从build.gradle引用属性文件,并使用定义的属性?
使用 gradle.properties 文件在项目的根部。Gradle会自动加载使用这个文件来引用属性。
# gradle.properties
version=1.0
LOG4J_VERSION=1.2.14
版本将自动成为 1.0
因为 version
属性定义。至于log4j,你需要像这样引用它。
dependencies {
implementation "log4j:log4j:$LOG4J_VERSION"
}