``` val compilationConfiguration = createJv...
# scripting
d
Copy code
val compilationConfiguration = createJvmCompilationConfigurationFromTemplate<Any> {
            compilerOptions("-jvm-target", "1.8", "-Xnew-inference", "-Xinline-classes")
            jvm {
                if (classLoader != null) {
                    dependenciesFromClassloader(
                        classLoader = classLoader,
                        wholeClasspath = true
                    )
                } else {
                    dependenciesFromCurrentContext(
                        wholeClasspath = true
                    )
                }
                providedProperties(typeMap)
            }
            hostConfiguration(ScriptingHostConfiguration {
                jvm {
                    val cacheExtSetting = System.getProperty(COMPILED_SCRIPTS_CACHE_DIR_PROPERTY)
                        ?: System.getenv(COMPILED_SCRIPTS_CACHE_DIR_ENV_VAR)
                    val cacheBaseDir = when {
                        cacheExtSetting == null -> System.getProperty("java.io.tmpdir")
                            ?.let(::File)?.takeIf { it.exists() && it.isDirectory }
                            ?.let { File(it, "main.kts.compiled.cache").apply { mkdir() } }
                        cacheExtSetting.isBlank() -> null
                        else -> File(cacheExtSetting)
                    }?.takeIf { it.exists() && it.isDirectory }
                    //cacheBaseDir = File("/tmp")
                    if (cacheBaseDir != null)
                        compilationCache(
                            CompiledScriptJarsCache { script, scriptCompilationConfiguration ->
                                File(cacheBaseDir,
                                    compiledScriptUniqueName(script, scriptCompilationConfiguration) + ".jar")
                            }
                        )
                }
            })
        }
i
If it is about the different classloader for the cached script, you probably can solve it by setting
jvm.baseClassLoader
on the host configuration. See the implementation of the
CompiledScriptJarsCache
.