LibGDX GWT/HTML 使用 Kotlin:"No source code is available for type <XYZ>, did you forget to inherit a required module?"

LibGDX GWT/HTML with Kotlin: "No source code is available for type <XYZ>, did you forget to inherit a required module?"

我生成了一个没有依赖项的简单 libGDX 项目。当我尝试使用 Gradle (./gradlew html:dist) 将其构建为 HTML 应用程序时,我收到以下错误消息:

Tracing compile failure path for type 'xjcl.downgradius.client.HtmlLauncher'
   [ERROR] Errors in 'file:/home/jan/Dropbox/py/AndroidStudioProjects/Downgradius_Android/html/src/xjcl/downgradius/client/HtmlLauncher.java'
      [ERROR] Line 49: No source code is available for type xjcl.downgradius.DowngradiusGame; did you forget to inherit a required module?

我认为问题是我在这个项目中使用 Kotlin 造成的,并且 libGDX 用于 Java 开发。我观察到当我在 Java 中制作 新主游戏 class 时,发现 class 通过 GWT,但不是它导入的 Kotlin classes。

我知道 Kotlin 做了一些重新打包(例如,如果你把 funA 和 funB 放在文件 Foo 中,我认为它们将被重新打包为新的 FooKt 包的一部分),但是它应该能够找到它

  • 在正确的包中声明 (xjcl.downgradius)
  • 它在其文件中被声明为唯一的class
  • 我没有收到有关从 Java 导入它的 IDE 警告。

我也试过 但生成的 Java 代码充满了错误。

你的假设是正确的。 GWT 编译器适用于 Java 个来源。它给你的错误信息是正确的:找不到Java个源代码文件,你自己说你用的是Kotlin。

如果您想使用 GWT,请转换为正确的 Java 源代码。