只能将构建状态从[Configure、TaskSchedule、ReadyToRun]状态转换为BuildFinishHooks状态

问题描述 投票:0回答:1

我收到意外的 Gradle 错误,我想知道这意味着什么,我看到的完整错误消息是:

Can only transition State of build ':game-api' to state BuildFinishHooks from states [Configure, TaskSchedule, ReadyToRun] however it is currently in state ReadyToReset.

每当我尝试在 IntelliJ 中为在调试模式下运行的 gradle 应用程序(JavaExec Gradle 任务)“重建”类时,就会发生此错误。通常 Intellij 应该重新编译更改的类并重新加载它们。

我的设置的简化版本如下:

  • game-api(Kotlin 多平台项目)
  • 游戏应用程序(Jvm项目)
  • 游戏引擎(Jvm项目)

其中 game-engine 是一个 JVM 项目,作为构建包含在 root 中的 settings.gradle.kts 中,game-app 是 root 的子项目,定义了运行任务,game-api 包含作为构建在游戏引擎的settings.gradle.kts中。

我在其他地方有类似的结构设置,这让我怀疑这与 kotlin 多平台有关,我尝试找到有关此错误的更多详细信息,但我找不到任何其他引用。

gradle 大师能否解释一下如何解决此错误?

java gradle kotlin-multiplatform
1个回答
0
投票

我也有同样的问题。我注意到它是从 IntelliJ 2023.3 开始发生的。 2023.2.6 及以下版本运行良好。 这可能是一种解决方法,即降级 IntelliJ。 另一种是点击 Compile And Reload File 两次,然后就可以了。

我怀疑它与 kotlin 编译器有某种关系,因为它只显示像 buildSrcbuild-logic 这样的模块中的错误,我在其中使用 kotlin 脚本和 kotlin 类。

© www.soinside.com 2019 - 2024. All rights reserved.