首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未解析参考getProperty

未解析参考getProperty
EN

Stack Overflow用户
提问于 2021-07-16 09:51:28
回答 1查看 595关注 0票数 1

我试图从build.gradle.kts中的build.gradle.kts文件中加载一个属性,如下所示:

代码语言:javascript
复制
val properties = Properties().load(project.rootProject.file("local.properties").inputStream())
val key: String = properties.getProperty("key")

但我得到了以下错误:

e: /build.gradle.kts:37:30:未解决的引用: getProperty

为什么会发生这种事?它可以从java.util.Properties中找到类属性,但不能找到函数getProperty。对我来说没有任何意义。我怎么解决这个问题?

这是整个构建文件:

完整的build.gradle.kts文件:

代码语言:javascript
复制
import java.util.Properties

plugins {
    kotlin("js") version "1.5.20"
}

group = "de.example"
version = "0.0.1-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    implementation(npm("obsidian", "0.12.5", false))
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.5.1")
}

kotlin {
    js(IR) {
        binaries.executable()
        browser {
            useCommonJs()
            webpackTask {
                output.libraryTarget = "commonjs"
                output.library = null
                outputFileName = "main.js"
            }
            commonWebpackConfig {
                cssSupport.enabled = true
            }
        }
    }
}

val properties = Properties().load(project.rootProject.file("local.properties").inputStream())
val key: String = properties.getProperty("key")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-21 08:12:20

load方法的Properties类返回void,所以您的val propertieskotlin.Unit

要获得所需的结果,您需要以以下方式初始化properties

代码语言:javascript
复制
val properties = Properties().apply { load(project.rootProject.file("local.properties").inputStream()) }

无论如何,这并不是将配置属性传递到Gradle构建脚本的推荐方法(请参阅https://docs.gradle.org/current/userguide/build_environment.html)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68406990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档