При компиляции кода kotlin во время выполнения возникает исключение RuntimeException (ПРЕДУПРЕЖДЕНИЕ: не удалось инициализировать собственную файловую систему для Windows) - PullRequest
0 голосов
/ 26 апреля 2020

Я использую KotlinJsr223 из kotlin std-lib, чтобы скомпилировать kotlin код во время выполнения.

В основном, чтобы обобщить проблему, у меня есть следующий код:

val engine = KotlinJsr223JvmLocalScriptEngineFactory().scriptEngine as KotlinJsr223JvmLocalScriptEngine
val kotlinScript = engine.compile("""println("Hello World")""") as KotlinJsr223JvmScriptEngineBase.CompiledKotlinScript

Как только запускается вторая строка (которая компилирует код), выдается предупреждение, за которым следует RuntimException.

Основные строки исключения:

WARN: 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.

Похоже, что существует некоторая проблема при создании файловой системы.

Суть трассировки полного стека здесь , если вы хотите проверить.

Есть ли способ решить проблему?

Компиляция не выходит из приложения, это своего рода предупреждение. После этого, как и 5-секундная задержка, а затем компиляция завершается успешно, все равно 5-секундное прерывание и предупреждение консоли должны быть своего рода угрозой, которую необходимо исправить.


Моя среда выполнения выглядит следующим образом:

  • Windows 10 сборка 1909
  • Java - 11,0,4
  • Kotlin - 1,3,72
  • JVM - цель 1,8
...