我如何在Gradle中包含属性文件?
例如在Ant中,我可以执行以下操作:
<property file="${basedir}/build.properties" />
Run Code Online (Sandbox Code Playgroud)
Dav*_*que 57
你可以使用java语法来做到这一点,例如:
Properties props = new Properties()
InputStream ins = new FileInputStream("/path/file.properties")
props.load(ins)
ins.close()
Run Code Online (Sandbox Code Playgroud)
这应该适用于任何groovy脚本.尽管如此,使用闭包或其他一些奇特的捷径可能会有一种更"常规"的方式.
编辑:"in"是groovy中的保留字.变量不能这样命名,将其重命名为"ins"
小智 40
我实际上建议使用Gradle的默认属性文件.如果将属性放在gradle.properties
与其相同的目录中build.gradle
,它们将自动可用.
请参阅用户指南.
icy*_*sor 27
您可能正在寻找的是:
Properties props = new Properties()
props.load(new FileInputStream("$project.rootDir/profile/"+"$environment"+".properties"))
props.each { prop ->
project.ext.set(prop.key, prop.value)
}
Run Code Online (Sandbox Code Playgroud)
然后,您的财产可以通过他们的名字直接访问.即:
println "$jdbcURL"
println project.jdbcURL
Run Code Online (Sandbox Code Playgroud)
这可能是一个原因(影子?)为什么这样做是个坏主意?不知道为什么它不支持开箱即用,或者可以在其他地方找到.
dja*_*fan 11
以下是我在Gradle构建的.jar中包含.csv文件的方法:
sourceSets {
main {
java {
srcDir 'src/main/java'
output.classesDir = 'build/classes/main'
}
resources {
srcDir 'src/main/resources'
include '*.csv'
output.resourcesDir = 'build/resources/main'
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,当我的应用程序加载资源时,这是独立于Gradle完成的.
小智 11
要包含.properties文件,您可以使用以下内容:
apply from: "version.properties"
Run Code Online (Sandbox Code Playgroud)
就是这样!
归档时间: |
|
查看次数: |
71111 次 |
最近记录: |