diff --git a/src/main/java/scala_maven/ScalaCompilerLoader.java b/src/main/java/scala_maven/ScalaCompilerLoader.java index 9933ae17..d5010f01 100644 --- a/src/main/java/scala_maven/ScalaCompilerLoader.java +++ b/src/main/java/scala_maven/ScalaCompilerLoader.java @@ -16,6 +16,8 @@ package scala_maven; +import sbt.internal.inc.classpath.ClasspathUtil; + import java.net.URL; import java.net.URLClassLoader; @@ -25,7 +27,7 @@ public class ScalaCompilerLoader extends URLClassLoader { private final ClassLoader sbtLoader; public ScalaCompilerLoader(URL[] urls, ClassLoader sbtLoader) { - super(urls, null); + super(urls, ClasspathUtil.rootLoader()); this.sbtLoader = sbtLoader; } diff --git a/src/main/java/scala_maven/ScalaCompilerSupport.java b/src/main/java/scala_maven/ScalaCompilerSupport.java index fc43f3d3..a1d89a0e 100644 --- a/src/main/java/scala_maven/ScalaCompilerSupport.java +++ b/src/main/java/scala_maven/ScalaCompilerSupport.java @@ -302,10 +302,9 @@ private ScalaInstance makeScalaInstance(Context sc) throws Exception { allJars.addAll(Arrays.asList(libraryJars)); File[] allJarFiles = allJars.toArray(new File[] {}); - URLClassLoader loaderLibraryOnly = + ClassLoader loaderLibraryOnly = new ScalaCompilerLoader(libraryJarUrls, xsbti.Reporter.class.getClassLoader()); - URLClassLoader loaderCompilerOnly = new URLClassLoader(compilerJarUrls, loaderLibraryOnly); - URLClassLoader loader = loaderCompilerOnly; + ClassLoader loaderCompilerOnly = new URLClassLoader(compilerJarUrls, loaderLibraryOnly); if (getLog().isDebugEnabled()) { getLog().debug("compilerJars: " + FileUtils.toMultiPath(compilerJars)); @@ -314,7 +313,7 @@ private ScalaInstance makeScalaInstance(Context sc) throws Exception { return new ScalaInstance( sc.version().toString(), - loader, + loaderCompilerOnly, loaderCompilerOnly, loaderLibraryOnly, libraryJars,