From 40d4eeab4fb9e4db9fba20cfdfb6c09ec449cca6 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 23 Jun 2017 19:50:02 +0300 Subject: [PATCH] Do not try to load jrt file system from JDK version < 9 The FileSystems.newFileSystem call failed if the compiler was being run on Java 9 with -jdk-home $JDK_16 --- .../org/jetbrains/kotlin/cli/jvm/modules/CoreJrtFileSystem.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/CoreJrtFileSystem.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/CoreJrtFileSystem.kt index 08e6af1173f..805dd96ffa1 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/CoreJrtFileSystem.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/modules/CoreJrtFileSystem.kt @@ -45,12 +45,12 @@ class CoreJrtFileSystem(private val fileSystem: FileSystem) : DeprecatedVirtualF companion object { fun create(jdkHome: File): CoreJrtFileSystem? { val rootUri = URI.create(StandardFileSystems.JRT_PROTOCOL + ":/") + val jrtFsJar = loadJrtFsJar(jdkHome) ?: return null val fileSystem = if (SystemInfo.isJavaVersionAtLeast("9")) { FileSystems.newFileSystem(rootUri, mapOf("java.home" to jdkHome.absolutePath)) } else { - val jrtFsJar = loadJrtFsJar(jdkHome) ?: return null val classLoader = URLClassLoader(arrayOf(jrtFsJar.toURI().toURL()), null) FileSystems.newFileSystem(rootUri, emptyMap(), classLoader) }