container.setLookupRealm( null );
container.setLookupRealm( null ); Thread.currentThread().setContextClassLoader( container.getContainerRealm() );
public void removeComponentRealm( ClassRealm realm ) throws PlexusContainerException { if ( getContainerRealm().getId().equals( realm.getId() ) ) { throw new IllegalArgumentException( "Cannot remove container realm: " + realm.getId() + "\n(trying to remove container realm as if it were a component realm)." ); } componentRegistry.removeComponentRealm( realm ); ClassRealm lookupRealm = getLookupRealm(); if ( ( lookupRealm != null ) && lookupRealm.getId().equals( realm.getId() ) ) { setLookupRealm( getContainerRealm() ); } }
setLookupRealm( containerRealm );
/** * code from org.apache.maven.cli.MavenCli.container(CliRequest) * <p> * cf also https://github.com/igor-suhorukov/mvn-classloader/blob/master/dropship/src/main/java/com/github/smreed/dropship/ClassLoaderBuilder.java */ private static PlexusContainer mvnContainer() { ILoggerFactory slf4jLoggerFactory = LoggerFactory.getILoggerFactory(); Slf4jLoggerManager plexusLoggerManager = new Slf4jLoggerManager(); ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); DefaultPlexusContainer container = null; ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setClassPathScanning(PlexusConstants.SCANNING_INDEX) .setAutoWiring(true) .setName("maven"); try { container = new DefaultPlexusContainer(cc, new AbstractModule() { protected void configure() { bind(ILoggerFactory.class).toInstance(slf4jLoggerFactory); } }); } catch (PlexusContainerException e) { LOGGER.error("unable to create PlexusContainer", e); } // NOTE: To avoid inconsistencies, we'll use the TCCL exclusively for lookups container.setLookupRealm(null); container.setLoggerManager(plexusLoggerManager); Thread.currentThread().setContextClassLoader(container.getContainerRealm()); return container; }
private static PlexusContainer container() { try { ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setRealm(null) .setName("maven"); DefaultPlexusContainer container = new DefaultPlexusContainer(cc); // NOTE: To avoid inconsistencies, we'll use the Thread context class loader exclusively for lookups container.setLookupRealm(null); container.setLoggerManager(new Slf4jLoggerManager()); container.getLoggerManager().setThresholds(Logger.LEVEL_INFO); return container; } catch (PlexusContainerException e) { throw new RuntimeException("Error loading Maven system", e); } } }
@Override public DefaultPlexusContainer call() throws Exception { try { ContainerConfiguration config = new DefaultContainerConfiguration().setAutoWiring(true) .setClassPathScanning(PlexusConstants.SCANNING_INDEX); plexusContainer = new DefaultPlexusContainer(config); // NOTE: To avoid inconsistencies, we'll use the TCCL exclusively for lookups plexusContainer.setLookupRealm(null); ConsoleLoggerManager loggerManager = new ConsoleLoggerManager(); loggerManager.setThreshold("ERROR"); plexusContainer.setLoggerManager(loggerManager); return plexusContainer; } catch (Exception e) { throw new RuntimeException( "Could not initialize Maven", e); } } });
public void removeComponentRealm( ClassRealm realm ) throws PlexusContainerException { if ( getContainerRealm().getId().equals( realm.getId() ) ) { throw new IllegalArgumentException( "Cannot remove container realm: " + realm.getId() + "\n(trying to remove container realm as if it were a component realm)." ); } componentRepository.removeComponentRealm( realm ); try { componentManagerManager.dissociateComponentRealm( realm ); } catch ( ComponentLifecycleException e ) { throw new PlexusContainerException( "Failed to dissociate component realm: " + realm.getId(), e ); } ClassRealm lookupRealm = getLookupRealm(); if ( ( lookupRealm != null ) && lookupRealm.getId().equals( realm.getId() ) ) { setLookupRealm( getContainerRealm() ); } }
container.setLookupRealm(null);
container.setLookupRealm( null );
setLookupRealm( containerRealm );
container.setLookupRealm( null );
container.setLookupRealm( null ); Thread.currentThread().setContextClassLoader( container.getContainerRealm() );
new SLF4JLoggerFactoryProvider(), jsr250Lifecycle ); setLookupRealm( containerRealm );