Я использую 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