diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index f8774dff9..4f83c85f3 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -773,7 +773,7 @@ object Defaults extends BuildCommon { class ScalaLoader extends URLClassLoader(allJars.map(_.toURI.toURL).toArray, libraryLoader) val fullLoader = classLoaderCache.cachedCustomClassloader( allJars.toList, - () => new URLClassLoader(allJars.map(_.toURI.toURL).toArray, libraryLoader) + () => new ScalaLoader ) new ScalaInstance( version, diff --git a/main/src/main/scala/sbt/internal/ClassLoaders.scala b/main/src/main/scala/sbt/internal/ClassLoaders.scala index 396d2da31..67963eb80 100644 --- a/main/src/main/scala/sbt/internal/ClassLoaders.scala +++ b/main/src/main/scala/sbt/internal/ClassLoaders.scala @@ -230,10 +230,12 @@ private[sbt] object ClassLoaders { } else parent } + private[this] class FlatLoader(classpath: Seq[File], parent: ClassLoader) + extends URLClassLoader(classpath.map(_.toURI.toURL).toArray, parent) { + override def toString: String = + s"FlatClassLoader(parent = $interfaceLoader, jars =\n${classpath.mkString("\n")}\n)" + } // helper methods private def flatLoader(classpath: Seq[File], parent: ClassLoader): ClassLoader = - new URLClassLoader(classpath.map(_.toURI.toURL).toArray, parent) { - override def toString: String = - s"FlatClassLoader(parent = $interfaceLoader, jars =\n${classpath.mkString("\n")}\n)" - } + new FlatLoader(classpath, parent) }