首页 > 解决方案 > KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory KotlinCompileDaemon 未启动

问题描述

我正在尝试在 SpringBot 应用程序中使用 KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory。尝试执行脚本时,我得到

javax.script.ScriptException: Unable to connect to repl server: DEBUG 启动守护进程为:C:\Program Files\Java\jre1.8.0_172\bin\java -cp C:\Users\user\projects\lkb\lkb\目标\kotlin-compiler-1.3.10.jar -Djava.awt.headless = true -Djava.rmi.server.hostname = 127.0.0.1 org.jetbrains.kotlin.daemon.KotlinCompileDaemon --daemon -r unFilesPath C:\Users \user\AppData\Local\kotlin\daemon --daemon-autoshutdownIdleSeconds = 7200 --daemon-compilerClasspath C:\Users\user\projects\lkb\lkb\target\kotlin-compiler-1.3.10。jar INFO [守护进程] java.lang.NoClassDefFoundError: kotlin / reflect / KDeclarationContainer

当我在 IDE 中运行它时一切正常。当我在命令行 java -jar 中尝试它时,我得到了这个异常。

请告诉我我做错了什么。在项目中我使用 Kotlin 1.3.10 maven

标签: mavenkotlinjarscriptengine

解决方案


您缺少一个依赖项,您需要添加kotlin-reflect到您的 Maven 配置中:

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-reflect</artifactId>
    <version>1.3.10</version>
</dependency>

我有点困惑:java -jar如果你使用 Maven,你为什么要使用。不要那样做,mvn spring-boot:run改用。


推荐阅读