Запущенный Kotlin, сохраненный как строка, дает ошибку времени выполнения - PullRequest
0 голосов
/ 30 мая 2019

На основе Динамическая оценка шаблонных строк в Kotlin , я пытался, для специального и редкого использования, запустить Kotlin сценарии, хранящиеся в виде строк. Мой Android Studio обновлен (3.4.1). Мой компьютер работает Windows.

Скрипт теста хранится здесь .

Я добавил JS223.Jar файл в папку libs, добавил в качестве библиотеки и поместил зависимость в gradle (приложение).

Исходный код

import javax.script.*


val engine = ScriptEngineManager().getEngineByExtension("kts")!!
engine.eval("val x = 3")
val res = engine.eval("x + 2")

Основываясь на реальном использовании, я скопировал с JetBrain / Kotlin в GitHub setIdeaIoUseFallback() код без зависимости

Однако, с или без setIdeaIoUseFallback() предыдущего вызова, приведенный выше код дает сумасшедшую ошибку времени выполнения в ScriptEngineManager() call

java.lang.NoClassDefFoundError: Failed resolution of: Lsun/misc/Service
Javax.script.ScriptEngineManager.initEngines(ScriptEngineManager.java:90)
javax.script.ScriptEngineManager.access$0(ScriptEngineManager.java:86)
javax.script.ScriptEngineManager$1.run(ScriptEngineManager.java:80)
java.security.AccessController.doPrivileged(AccessController.java:41)
javax.script.ScriptEngineManager.init(ScriptEngineManager.java:78)
javax.script.ScriptEngineManager.<init>(ScriptEngineManager.java:51)    
br.com.greatsolutions.paulo.kotlinfirst.MainActivity.onCreate(MainActivity.kt:65)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...