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

如何使用Kotlin DSL为Gradle配置Kotlin协程?

司空温书
2023-03-14

使用Gradle 4.4.1和静态编程语言-DSL,我想在我的静态编程语言1.2.20项目中配置实验性的静态编程语言协程。这被证明是出奇困难的。

官方静态编程语言留档本身只提到Groovy DSL的Gradle,而不是静态编程语言。

Kotlin DSL项目有一个不起作用的协同路由示例。可能是针对较旧的Gradle版本(该脚本中的Kotlin版本为1.1.51,这本身就是可疑的)。

PS:甚至IntelliJ的配置静态编程语言也会写入不正确的Gradle代码。降级是唯一的选择吗?

补遗:构建脚本在IntelliJ IDEA中非常红色。IDE一直在添加导入语句。这些徒劳的尝试似乎是剧本不起作用的原因。我暂时禁用了“动态添加无歧义导入”,即使脚本大部分仍然是红色的,Gradle也可以执行它。之后,IntelliJ的错误通知也不见了。

共有1个答案

慕容越泽
2023-03-14

假设将kotlin插件应用于项目:

import org.jetbrains.kotlin.gradle.dsl.Coroutines

plugins {
  kotlin("jvm")
}

kotlin { // type is KotlinJvmProjectExtension
  experimental.coroutines = Coroutines.ENABLE
}

这适用于Gradle 4.4.1和4.5-rc-1,我也应该适用于在此之前的版本。如果您通过使用Buildcript而不是plugins引入静态编程语言插件,您可能没有生成的访问器,并且将不得不使用extensions.getByType(KotlinJvmProjectExality::class.java)。应用{}(或类似的东西)。

 类似资料:
  • 我试图使用kotlin与gradle,但我无法成功地创建一个项目与Intellij想法15。 我用两个模块和创建了一个简单项目。 是普通的java项目,编译和运行都非常好。 当运行时,所有项目都编译成功,但当运行时,我会出现以下错误: 此外,Intellij似乎无法将目录识别为源目录(它没有用蓝色标记),并且在编辑hellokotlin.kt文件时,我无法使用自动完成功能。 下面是Intellij

  • 如https://cloud . Google . com/app engine/docs/standard/Java/tools/Gradle-reference上所述,AppEngine Gradle插件提供如下配置: 使用 时,这样的配置应该是什么样子? 我正在查看AppEngine任务,但不明白如何将其连接到适当的Kotlin DSL设置。 编辑 当简单地将上述块添加到<code>buil

  • 我正在尝试建立一个基本的Gradle项目。我的构建。gradle文件如下。我一直得到下面的错误。我不明白,因为你可以在这里找到插件。。。我想我的目标是:https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-gradle-plugin 更新:如果我注释掉Kotlin行,Spring Boot插件也会发生同样的事情。这不仅仅针对K

  • 在尝试编译用Kotlin编写的单元测试时,我得到以下错误。 以及在根中配置所有kotlin编译任务:

  • 我正在尝试构建一个同时使用Google协议缓冲区和使用Gradle的Kotlin的项目。我希望将proto文件编译成Java源代码,然后从我的Kotlin代码中调用它。 我的源文件是这样排列的: 这是我的构建。gradle文件: 当我运行时,我在期间收到一堆“未解决的引用”错误。之后,我可以看到没有生成Java源文件,因此似乎根本没有调用原始编译器。 如果我删除了apply插件:“kotlin”行

  • 我在我的kotlin dsl构建文件中使用jsonschema2pojo gradle插件。 现在我需要更改插件的默认配置,如下所述 当我加上这个,我得到下面的错误- $gradle generateJsonSchema2Pojo 配置项目:e: /Users/rajkumar.natarajan/Documents/Coding/misc/jsonschema2pojo-enum-demo/bu