当前位置: 首页 > 知识库问答 >
问题:

Gradle Kotlin DSL无法识别buildscript中的ext

顾泰平
2023-03-14

在这些日子里,我正在尝试编写一些代码来体验Spring 5中的Spring反应特性和kotlin扩展,并且我还准备了一个gradle kotlin DSL build.gradle.kt来配置gradle构建。

buildscript {
  ext { }
}

为了使类路径(“org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinversion”)compile(“org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlinversion”)中的变量工作,我用硬方法添加了这些变量。

val kotlinVersion = "1.1.4"
val springBootVersion = "2.0.0.M3"

但我必须在全局顶部位置声明它们并在buildscript中复制它们。

代码:https://github.com/hantsy/spring-reactive-sample/blob/master/kotlin-gradle/build.gradle.kts

是否有一种优雅的方法使ext工作?

更新:有一些丑陋的方法:

>

  • 来自Gradle Kotlin DSL示例,https://github.com/Gradle/kotlin-dsl/tree/master/samples/project-properties,声明gradel.properties中的属性。

    kotlinVersion = 1.1.4
    springBootVersion = 2.0.0.M3
    
    buildScript{
       val kotlinVersion by project
    
    }
     val kotlinVersion by project //another declare out of buildscript block.
    
    buildScript{
       extra["kotlinVersion"] = "1.1.4"
       extra["springBootVersion"] = "2.0.0.M3"
       val kotlinVersion: String by extra
    
    }
     val kotlinVersion: String by extra//another declare out of buildscript block.
    
  • 共有1个答案

    严昊昊
    2023-03-14

    在Kotlin中,DSL ext已经被更改为Extract,并且可以在BuildScript下使用。

    例如:-

    buildscript {
        // Define versions in a single place
        extra.apply{
            set("minSdkVersion", 26)
            set("targetSdkVersion", 27)
        }
    }
    
     类似资料:
    • 我有以下序列

    • 我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢

    • 问题内容: 我正在使用石英进行日程安排。 它接受5个参数。(秒,分钟,小时,daysOfMonth,月份)。 当我通过第四个参数作为“ 09”。Eclipse给我错误“ int类型的文字八进制09(数字9)超出范围”。 但是,当我将第四个参数作为“ 9”而不是“ 09”传递时,它起作用了。 谁能解释这个错误? 问题答案: 在Java中,如果要定义整数,则前导“ 0”将表示您正在以八进制定义数字

    • 问题内容: 我正在尝试在我的js文件中使用Url.Action()方法为我的Ajax调用定义URL。到目前为止,我失败了。 如果我以这种方式定义网址,浏览器会尝试将数据发布到 结果我的ajax调用失败。 但是,如果我改为使用,则一切正常。 第二个可以,但是我想知道第一个的问题吗?可能是由于路由配置引起的吗? 谢谢。 问题答案: 是html辅助方法,将在您的剃刀视图中工作,而不在外部javascri

    • 问题内容: 我使用,当我得到 我删除了构建路径,然后又做了 ,仍然是同样的错误。 问题答案: 该代码不是Java SE的一部分,因此这些类将不在JRE中。您需要找到并下载包含这些类的JAR文件,然后将其添加到Eclipse构建路径中。 (可以在此处下载JAR的一个地方,但是如果此链接中断,可以轻松进行自己的搜索。请转到Maven Central或findjar。)

    • 问题内容: 我有一个jimfs(内存文件系统中的Google)从字节数组中创建的zip文件。当尝试使用打开该文件时,出现错误,提示无法识别该提供程序。我的代码如下: URI类似于:。 堆栈跟踪为: jimfs未与一起列出。它位于分别与 for 相比的单独的类加载器中。 提供者的打印如下: 我尝试基于jimfs ClassLoaderTest示例手动设置类加载器,但没有成功。我在Linux上运行。