Leon K
01/20/2020, 1:39 PMsrc/main/resources/META-INF/services
, and also included the
implementation org.jetbrains.kotlin:kotlin-script-util:$kotlinVersion"
implementation org.jetbrains.kotlin:kotlin-script-runtime:$kotlinVersion"
implementation org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlinVersion"
dependencies, and am now trying to call a simple script using
val scriptEngine = ScriptEngineManager().getEngineByExtension("kts")!!
println(scriptEngine.eval("1+5") as Int)
but It does not execute, as i'm getting a ClassNotFoundException: org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler
any ideas what causes this / how to fix it? thanks!Leon K
01/20/2020, 1:40 PMException in thread "main" java.lang.NoClassDefFoundError: org/jetbrains/kotlin/scripting/compiler/plugin/repl/GenericReplCompiler
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$replCompiler$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:47)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$replCompiler$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:38)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getReplCompiler(KotlinJsr223JvmLocalScriptEngine.kt)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$localEvaluator$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:53)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$localEvaluator$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:38)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getLocalEvaluator(KotlinJsr223JvmLocalScriptEngine.kt)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getReplEvaluator(KotlinJsr223JvmLocalScriptEngine.kt:55)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.createState(KotlinJsr223JvmLocalScriptEngine.kt:59)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.createState$default(KotlinJsr223JvmScriptEngineBase.kt:46)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.getCurrentState(KotlinJsr223JvmScriptEngineBase.kt:53)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.nextCodeLine(KotlinJsr223JvmScriptEngineBase.kt:44)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:61)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:31)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at MainKt.main(Main.kt:5)
at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler
at <http://java.net|java.net>.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 18 more
Imran/Malic
01/20/2020, 2:05 PMruntime "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:$kotlinVersion"
compile "org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlinVersion"
But that may look from project to project different. There are maybe better solutions, but that is what worked for me.Leon K
01/20/2020, 2:14 PMLeon K
01/20/2020, 2:14 PMWARN: Failed to initialize native filesystem for Windows
java.lang.RuntimeException: Could not find installation home path. Please make sure bin/idea.properties is present in the installation directory.
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.application.PathManager.getHomePath(PathManager.java:97)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.application.PathManager.getHomePath(PathManager.java:76)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.application.PathManager.findBinFile(PathManager.java:170)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.util.loader.NativeLibraryLoader.loadPlatformLibrary(NativeLibraryLoader.java:18)
at <http://org.jetbrains.kotlin.com.intellij.openapi.util.io|org.jetbrains.kotlin.com.intellij.openapi.util.io>.win32.IdeaWin32.<clinit>(IdeaWin32.java:47)
at <http://org.jetbrains.kotlin.com.intellij.openapi.util.io|org.jetbrains.kotlin.com.intellij.openapi.util.io>.FileSystemUtil.getMediator(FileSystemUtil.java:51)
at <http://org.jetbrains.kotlin.com.intellij.openapi.util.io|org.jetbrains.kotlin.com.intellij.openapi.util.io>.FileSystemUtil.<clinit>(FileSystemUtil.java:46)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandler.setFileAttributes(ZipHandler.java:62)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandler$1.createAccessor(ZipHandler.java:44)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandler$1.createAccessor(ZipHandler.java:39)
at <http://org.jetbrains.kotlin.com.intellij.util.io|org.jetbrains.kotlin.com.intellij.util.io>.FileAccessorCache.createHandle(FileAccessorCache.java:61)
at <http://org.jetbrains.kotlin.com.intellij.util.io|org.jetbrains.kotlin.com.intellij.util.io>.FileAccessorCache.get(FileAccessorCache.java:54)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandler.getCachedZipFileHandle(ZipHandler.java:84)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandler.acquireZipHandle(ZipHandler.java:131)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ZipHandlerBase.createEntriesMap(ZipHandlerBase.java:44)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.ArchiveHandler.getEntriesMap(ArchiveHandler.java:183)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.jar.CoreJarHandler.<init>(CoreJarHandler.java:42)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.jar.CoreJarFileSystem.lambda$new$0(CoreJarFileSystem.java:33)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:181)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:46)
at <http://org.jetbrains.kotlin.com|org.jetbrains.kotlin.com>.intellij.openapi.vfs.impl.jar.CoreJarFileSystem.findFileByPath(CoreJarFileSystem.java:44)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.findJarRoot(KotlinCoreEnvironment.kt:386)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.contentRootToVirtualFile(KotlinCoreEnvironment.kt:365)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.access$contentRootToVirtualFile(KotlinCoreEnvironment.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$3.invoke(KotlinCoreEnvironment.kt:212)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$3.invoke(KotlinCoreEnvironment.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.ClasspathRootsResolver.convertClasspathRoots(ClasspathRootsResolver.kt:70)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:219)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:422)
at org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplChecker.<init>(GenericReplChecker.kt:62)
at org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler.<init>(GenericReplCompiler.kt:43)
at org.jetbrains.kotlin.scripting.compiler.plugin.repl.GenericReplCompiler.<init>(GenericReplCompiler.kt:40)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$replCompiler$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:47)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$replCompiler$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:38)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getReplCompiler(KotlinJsr223JvmLocalScriptEngine.kt)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$localEvaluator$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:53)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine$localEvaluator$2.invoke(KotlinJsr223JvmLocalScriptEngine.kt:38)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getLocalEvaluator(KotlinJsr223JvmLocalScriptEngine.kt)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.getReplEvaluator(KotlinJsr223JvmLocalScriptEngine.kt:55)
at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine.createState(KotlinJsr223JvmLocalScriptEngine.kt:59)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.createState$default(KotlinJsr223JvmScriptEngineBase.kt:46)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.getCurrentState(KotlinJsr223JvmScriptEngineBase.kt:53)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.nextCodeLine(KotlinJsr223JvmScriptEngineBase.kt:44)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:61)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:31)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at MainKt.main(Main.kt:5)
at MainKt.main(Main.kt)
6
Leon K
01/20/2020, 2:14 PMCzar
01/20/2020, 2:46 PMimplementation("org.jetbrains.kotlin:script-runtime:$kotlinVersion")
runtimeOnly("org.jetbrains.kotlin:scripting-jsr223-embeddable:$kotlinVersion")
Czar
01/20/2020, 2:47 PMImran/Malic
02/05/2020, 12:31 PMKotlinJsr223JvmLocalScriptEngine
, but it throws the same error. Any help or suggestion is welcomed.