【问题标题】:Gradle - Load properties from a .properties fileGradle - 从 .properties 文件加载属性
【发布时间】:2016-09-07 20:12:16
【问题描述】:

我在尝试在build.gradle 文件中添加db.properties 文件时遇到此错误

build.gradle:

allprojects {

    apply from: 'db.properties'
    apply from: 'deployment.properties'

    repositories {
        mavenCentral()
    }

    apply plugin: 'java'
    apply plugin: 'war'
    apply plugin: 'maven-publish'
    apply plugin: 'idea'

    sourceCompatibility = 1.8

}

db.properties:

db=blal
dbUsername=/bilal/home

我得到的错误是:

* Where:
Script 'camelawsextractionservicesb/db.properties' line: 1

* What went wrong:
A problem occurred evaluating script.
> Could not find property 'blal' on root project 'CamelExtractionServices'.

【问题讨论】:

标签: gradle build.gradle


【解决方案1】:

如果您希望从 .properties 文件加载属性,我会尝试这样的操作:

ext.additionalProperties = new Properties().load(file("db.properties").newReader())
ext.someOtherProperties = new Properties().load(file("foo.properties").newReader())

然后您可以访问您的属性:

println additionalProperties['db']
println someOtherProperties['bar']

【讨论】:

  • 如果我想在同一个build.gradle 文件中添加两个不同的属性文件,我将如何管理它?
  • 我收到了No signature of method: java.util.Properties.load() is applicable for argument types: (java.io.File) values: [gradle.propteries] Possible solutions: load(java.io.InputStream), load(java.io.Reader), clear(), clone(), find(), sort()
  • 我已编辑答案以添加.newReader() 以修复编译错误。
  • 如果您只想要一个 Properties 实例,您可以使用 addAll() 方法“合并”两个属性。
  • 如果 Properties 的 load() 方法返回 void 应该如何工作?
猜你喜欢
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
  • 2011-06-20
  • 2011-12-01
相关资源
最近更新 更多