【问题标题】:Kotlin - Error: Could not find or load main class _DefaultPackageKotlin - 错误:无法找到或加载主类_DefaultPackage
【发布时间】:2015-11-29 04:10:27
【问题描述】:

我在这里按照 Kotlin 的 Eclipse 教程进行操作:Getting Started With Eclipse Luna

但是,我遇到了这个错误:

Error: Could not find or load main class _DefaultPackage

有谁知道如何解决这个问题?

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    这是插件版本 0.4.0 中自动生成启动配置的一个严重错误 (KT-10221)。它已在 0.5.0 中修复,因此推荐的解决方法是更新插件。

    问题的根源在于插件使用旧模式来生成主函数的类名称,该模式已被 Kotlin 编译器放弃。

    可以通过手动编辑启动配置(Eclipse Menu -> Run -> Run Configurations...)并更改 Main class 字段来解决此问题>Java 应用程序 组。如果文件名为 hello.kt 且没有包指令,如教程中所述,则更正后的字符串应为 HelloKt

    如果文件的名称为 other.kt 并带有包 my.tutorial,那么 主类 应该包含 my.tutorial.HelloKt 。您可以在 Calling Kotlin From Java 页面的 Package-Level Functions 部分阅读更多相关信息。

    【讨论】:

    • 在 2020 年我遇到了这个错误,这个解决方案对我不起作用。
    • 使用 Koltin 1.5,还是同样的错误。解决方法也不起作用
    • 我想你在运行 kotlin 命令时错过了Kt 例如kotlin Hello 而你必须调用kotlin HelloKt
    【解决方案2】:

    我也遇到了同样的问题。并且把正确的编译器输出路径放好后,就解决了。

    Go to Project -> Project Compiler output : In the text box, fill this: [Absolute Path]/{Project Name}/out

    【讨论】:

    • 我在 Eclipse 2018-12 中看不到这些选项。
    【解决方案3】:

    就我而言,我在尝试使用 Application Gradle 插件运行程序时遇到了这个问题。问题在于 mainClassName 属性使用单引号而不是双引号

    这不起作用:

    mainClassName = 'demo.HelloWorldKt'
    

    使用双引号,它可以工作:

    mainClassName = "demo.HelloWorldKt"
    

    【讨论】:

      【解决方案4】:

      对我来说,在我安装了正确的 JDK 后它就起作用了。我首先有 JDK 11,但我做的教程是使用 JDK 8,所以在我安装它并将其设置在“已安装的 JRE”选项中之后,它找到了主类,而 build.gradle 文件中没有任何“mainClassName”或任何其他选项.

      【讨论】:

        【解决方案5】:

        对我来说,它在一个全新的 Eclipse 工作区中工作。可能是 Kotlin eclipse 插件无法与其他插件(在我的情况下为 PyDev)配合使用。

        【讨论】:

          【解决方案6】:

          我正在使用 JavaFX 创建一个 Kotlin 应用程序,但我遇到了这个问题,直到我去: 运行 > 运行配置 > Java 应用程序 > 通用 我取消了“分配控制台”,它解决了这个问题。

          【讨论】:

            猜你喜欢
            • 2019-10-07
            • 1970-01-01
            • 1970-01-01
            • 2018-09-12
            • 2016-06-12
            • 2016-03-16
            • 2016-01-03
            • 1970-01-01
            相关资源
            最近更新 更多