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() ) {