Overview
plexus-default-container
is Plexus' inversion-of-control (IoC) container. It is composed of:
- its public API: the root class is
org.codehaus.plexus.PlexusContainer
, - its default implementation: the root class is
org.codehaus.plexus.DefaultPlexusContainer
.
Default implementation reads configuration in XML files:
- multiple
META-INF/plexus/components.xml
files that declare components, - one
META-INF/plexus/plexus.xml
file that can be used to configure the plexus container and runtime in addition to declaring components.
But it is not limited to these files: Plexus container is by nature very extensible, it can be configured programmatically too or extended to read configuration from any source. It is used for example in Maven 2 to read plugins configuration from META-INF/maven/plugin.xml
and instanciate Mojos downloaded from Maven repositories.
Deprecated
plexus-default-container
is replaced by:
- Sisu container, reading
META-INF/sisu/javax.inject.Named
index files, - and optional Plexus shim
org.eclipse.sisu.plexus
for compatibility with legacy PlexusMETA-INF/plexus/components.xml
. See also Plexus shim javadoc.