Repository: maven
Updated Branches:
  refs/heads/mng-6275 39004f6ae -> fef668789


[MNG-6275] Capture the context classloader at construction


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fef66878
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fef66878
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fef66878

Branch: refs/heads/mng-6275
Commit: fef668789f6abe79f603b96a8ee6f13ea52de4df
Parents: 39004f6
Author: Stephen Connolly <stephen.alan.conno...@gmail.com>
Authored: Wed Aug 30 12:33:59 2017 +0100
Committer: Stephen Connolly <stephen.alan.conno...@gmail.com>
Committed: Wed Aug 30 12:33:59 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/classrealm/DefaultClassRealmManager.java    | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/fef66878/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
----------------------------------------------------------------------
diff --git 
a/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
 
b/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
index 7be615c..eaf1b53 100644
--- 
a/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
+++ 
b/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
@@ -84,6 +84,8 @@ public class DefaultClassRealmManager
 
     private final ClassRealm mavenApiRealm;
 
+    private final ClassLoader contextClassLoader;
+
     /**
      * Patterns of artifacts provided by maven core and exported via maven api 
realm. These artifacts are filtered from
      * plugin and build extensions realms to avoid presence of duplicate and 
possibly conflicting classes on classpath.
@@ -94,6 +96,8 @@ public class DefaultClassRealmManager
     public DefaultClassRealmManager( Logger logger, PlexusContainer container,
                                      List<ClassRealmManagerDelegate> 
delegates, CoreExportsProvider exports )
     {
+        ClassLoader contextClassLoader = 
Thread.currentThread().getContextClassLoader();
+        this.contextClassLoader = contextClassLoader == null ? 
ClassLoader.getSystemClassLoader() : contextClassLoader;
         this.logger = logger;
         this.world = ( (MutablePlexusContainer) container ).getClassWorld();
         this.containerRealm = container.getContainerRealm();
@@ -120,9 +124,7 @@ public class DefaultClassRealmManager
             {
                 try
                 {
-                    ClassLoader contextClassLoader = 
Thread.currentThread().getContextClassLoader();
-                    ClassRealm classRealm = world.newRealm( realmId, 
contextClassLoader == null
-                            ? ClassLoader.getSystemClassLoader() : 
contextClassLoader );
+                    ClassRealm classRealm = world.newRealm( realmId, 
contextClassLoader );
 
                     if ( logger.isDebugEnabled() )
                     {

Reply via email to