From d3656fa6ae819ddbb74d456565c8d70b067f1b86 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 9 Nov 2016 12:29:08 -0800 Subject: [PATCH] Fix regression in class loader isolation --- cli/src/main/scala-2.11/coursier/cli/Helper.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index b45667187..c38a33164 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -598,7 +598,17 @@ class Helper( def contextLoader = Thread.currentThread().getContextClassLoader - def baseLoader = ClassLoader.getSystemClassLoader + def baseLoader = { + + @tailrec + def rootLoader(cl: ClassLoader): ClassLoader = + Option(cl.getParent) match { + case Some(par) => rootLoader(par) + case None => cl + } + + rootLoader(ClassLoader.getSystemClassLoader) + } lazy val (parentLoader, filteredFiles) = {