Kotlin - Error: Could not find or load main class _DefaultPackage
Kotlin - Error: Could not find or load main class _DefaultPackage
我在这里遵循了 Eclipse 的 Kotlin 教程:Getting Started With Eclipse Luna
但是,我 运行 遇到了这个错误:
Error: Could not find or load main class _DefaultPackage
有人知道如何解决这个问题吗?
这是插件版本 0.4.0 中自动生成启动配置的严重错误 (KT-10221)。它已在 0.5.0 中修复,因此推荐的解决方法是更新插件。
问题的根源在于该插件使用旧模式生成 class 主函数的名称,该模式已被 Kotlin 编译器放弃。
可以通过手动编辑启动配置(Eclipse 菜单 -> 运行 -> 运行 配置...)并更改class Java 应用程序 组中的主要字段。如果文件名为 hello.kt 而没有包指令,如教程中所述,则更正后的字符串应为 HelloKt。
如果文件的名称为 other.kt,包为 my.tutorial,那么 Main Class 应该包含 my.tutorial.HelloKt。您可以在 从 Java 页面调用 Kotlin 的 Package-Level Functions 部分阅读更多相关信息。
我也遇到了同样的问题。在设置正确的编译器输出路径后,它得到了解决。
Go to Project -> Project Compiler output :
In the text box, fill this:
[Absolute Path]/{Project Name}/out
就我而言,我在尝试使用应用程序 Gradle 插件 运行 程序时遇到了这个问题。问题出在 mainClassName
属性 使用单引号而不是双引号
这没有用:
mainClassName = 'demo.HelloWorldKt'
使用双引号,有效:
mainClassName = "demo.HelloWorldKt"
对我来说,在我安装了正确的 JDK 之后它就起作用了。我第一次有 JDK 11 但我做的教程是 JDK 8 所以在我安装它并在 "installed JREs" 选项中设置它后它找到了主要的 class 而没有任何"mainClassName" 或 build.gradle 文件中的任何其他选项。
对我来说,它在全新的 eclipse 工作区中工作。可能是 Kotlin eclipse 插件与其他插件(在我的例子中是 PyDev)不能很好地兼容。
我正在使用 JavaFX 创建一个 Kotlin 应用程序,我遇到了这个问题,直到我去了:
运行 > 运行 配置 > Java 应用程序 > 通用
我取消勾选 "Allocate console" 并解决了问题。
我在这里遵循了 Eclipse 的 Kotlin 教程:Getting Started With Eclipse Luna
但是,我 运行 遇到了这个错误:
Error: Could not find or load main class _DefaultPackage
有人知道如何解决这个问题吗?
这是插件版本 0.4.0 中自动生成启动配置的严重错误 (KT-10221)。它已在 0.5.0 中修复,因此推荐的解决方法是更新插件。
问题的根源在于该插件使用旧模式生成 class 主函数的名称,该模式已被 Kotlin 编译器放弃。
可以通过手动编辑启动配置(Eclipse 菜单 -> 运行 -> 运行 配置...)并更改class Java 应用程序 组中的主要字段。如果文件名为 hello.kt 而没有包指令,如教程中所述,则更正后的字符串应为 HelloKt。
如果文件的名称为 other.kt,包为 my.tutorial,那么 Main Class 应该包含 my.tutorial.HelloKt。您可以在 从 Java 页面调用 Kotlin 的 Package-Level Functions 部分阅读更多相关信息。
我也遇到了同样的问题。在设置正确的编译器输出路径后,它得到了解决。
Go to Project -> Project Compiler output :
In the text box, fill this:
[Absolute Path]/{Project Name}/out
就我而言,我在尝试使用应用程序 Gradle 插件 运行 程序时遇到了这个问题。问题出在 mainClassName
属性 使用单引号而不是双引号
这没有用:
mainClassName = 'demo.HelloWorldKt'
使用双引号,有效:
mainClassName = "demo.HelloWorldKt"
对我来说,在我安装了正确的 JDK 之后它就起作用了。我第一次有 JDK 11 但我做的教程是 JDK 8 所以在我安装它并在 "installed JREs" 选项中设置它后它找到了主要的 class 而没有任何"mainClassName" 或 build.gradle 文件中的任何其他选项。
对我来说,它在全新的 eclipse 工作区中工作。可能是 Kotlin eclipse 插件与其他插件(在我的例子中是 PyDev)不能很好地兼容。
我正在使用 JavaFX 创建一个 Kotlin 应用程序,我遇到了这个问题,直到我去了: 运行 > 运行 配置 > Java 应用程序 > 通用 我取消勾选 "Allocate console" 并解决了问题。