diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/ClassloaderUtils.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/ClassloaderUtils.kt index 774e30e2c0..49739303a1 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/ClassloaderUtils.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/ClassloaderUtils.kt @@ -26,6 +26,7 @@ fun scanJarForContracts(cordappJarPath: String): List { // Only keep instantiable contracts val classLoader = URLClassLoader(arrayOf(File(cordappJarPath).toURL()), currentClassLoader) val concreteContracts = contracts.map(classLoader::loadClass).filter { !it.isInterface && !Modifier.isAbstract(it.modifiers) } + classLoader.close() return concreteContracts.map { it.name } }