Tag: 可执行文件jar

Kotlin JSR-223在Fat jar中的ScriptEngineFactory – 找不到kotlin编译器jar

我有一个胖的jar,我试图获得Kotlin的ScriptEngine的实例。 为了调试的目的,我正在遍历可用的脚本引擎工厂并获取引擎。 val scriptEngineManager = ScriptEngineManager() for (factory in scriptEngineManager.engineFactories) { val scriptEngine = factory.scriptEngine } 当它击中Kotlin的引擎时,它会失败,除了以下例外: Exception in thread “main” java.io.FileNotFoundException: Cannot find kotlin compiler jar, set kotlin.compiler.jar property to proper location at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt$kotlinCompilerJar$2.invoke(KotlinJsr223ScriptEngineFactoryExamples.kt:100) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt$kotlinCompilerJar$2.invoke(KotlinJsr223ScriptEngineFactoryExamples.kt) at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt.getKotlinCompilerJar(KotlinJsr223ScriptEngineFactoryExamples.kt) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt.access$getKotlinCompilerJar$p(KotlinJsr223ScriptEngineFactoryExamples.kt:1) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory.getScriptEngine(KotlinJsr223ScriptEngineFactoryExamples.kt:56) at davidsiro.invoices.InvoiceGeneratorKt.generateInvoice(invoiceGenerator.kt:16) at davidsiro.invoices.MainKt.main(main.kt:11) 我的胖jar包含所有的依赖(虽然解压),包括Kotlin编译器。 我正在使用Maven Assembly Plugin来构建它,其配置如下: org.apache.maven.plugins maven-assembly-plugin […]