【问题标题】:java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsicsjava.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
【发布时间】:2018-01-01 19:00:53
【问题描述】:

所以我只是导出一个带有一个库tornadofx-1.7.11.jar 加上标准 Kotlin 库的基本程序。我已经使用this guide 完全导出了它。我尝试在命令行中运行它,但收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at main.app.AppKt.main(app.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

我查看了我的问题here,它说我的错误与损坏的类路径有关。关于类路径,我不知道我在做什么,但前面提到的指南声明只是放置所有 jar 的名称。如果你真的想要它,这是我的课程路径:tornadofx-1.7.11.jar。就这一行。我不确定是否应该添加更多,但我按照示例所示进行了操作。

如果需要,我在 Intellij IDEA 版本 2017.2.6.IC-172.4574.11 上运行。

【问题讨论】:

    标签: intellij-idea kotlin


    【解决方案1】:

    您需要将 kotlin 标准库添加到类路径才能从命令行运行它。

    类似:

    java --class-path tornadofx-1.7.11.jar stdlib.jar -jar myprogram.jar
    

    从 InteliJ 运行它更简单,因为它可以自行配置。

    【讨论】:

    • 我一直从 Intellij 运行以生成我的项目,但我正在尝试将其导出以在其他地方运行。在运行此命令之前我应该​​ cd 到哪里?
    • 使用绝对路径而不是那些 qvasy jar 名称,所以没关系
    • 提示:在 InteliJ 中运行程序时,会在终端顶部打印执行命令。复制粘贴它,它必须从项目的根目录工作
    • 我不知道你所说的“qvasy jar 名称”是什么意思,但我尝试找到执行命令并得到这个:gist.github.com/fin444/ecd4302a17114407d49073c642d360e2。我怎么知道什么是重要的,什么是 Intellij 的一部分?
    • 使用与该命令相同的类路径,它应该可以工作
    猜你喜欢
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2018-12-15
    • 2017-10-12
    相关资源
    最近更新 更多