Skip to content

javax.script.ScriptException: Unable to initialize repl compiler #10

Open
@jayvdb

Description

@jayvdb

I dont have a kotlin/kotlinc intentionally, and would like to use jgo to fetch that on demand. See also scijava/jgo#89

When I try the instructions given at scijava/scijava-common#451 (comment) , I get an error:

$ jgo --repository scijava.public=https://maven.scijava.org/content/groups/public  org.scijava:scijava-common:2.90.3-SNAPSHOT:@ScriptCLI+org.scijava:scripting-kotlin path/to/script.kt
..
[ERROR] javax.script.ScriptException: Unable to initialize repl compiler:
  ERROR java.lang.ExceptionInInitializerError: java.lang.ExceptionInInitializerError
	at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.asJsr223EvalResult(KotlinJsr223JvmScriptEngineBase.kt:104)
	at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:63)
	at kotlin.script.experimental.jvmhost.jsr223.KotlinJsr223ScriptEngineImpl.compileAndEval(KotlinJsr223ScriptEngineImpl.kt:94)
	at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:31)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
	at org.scijava.plugins.scripting.kotlin.KotlinScriptLanguage$SynchronizedScriptEngine.eval(KotlinScriptLanguage.kt:70)
	at org.scijava.script.ScriptModule.run(ScriptModule.java:173)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:163)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

That appears to be coming from here : https://github.com/JetBrains/kotlin/blob/a4ce2ced6d22086da756242ea114183dc702feab/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/KotlinJsr223JvmScriptEngineBase.kt#L104

This happens even if I explicitly add more of the kotlin jars to the jgo cli, like so:

$ jgo --repository scijava.public=https://maven.scijava.org/content/groups/public --additional-endpoints org.jetbrains.kotlin:kotlin-stdlib org.jetbrains.kotlin:kotlin-compiler  org.scijava:scijava-common:2.90.3-SNAPSHOT:@ScriptCLI+org.scijava:scripting-kotlin path/to/script.kt

I am wondering if scripting-kotlin might be able to somehow assist with this, possibly by doing the compile first, using https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-compiler-embeddable ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions