----- Plexus Overview ----- Brett Porter ----- 2015-09-13 ----- Overview Codehaus Plexus -- or more precisely <> now -- is a collection of tools and components used by {{{http://maven.apache.org/} Apache Maven}}: [[1]] <>: * {{{./modello/} Modello}}: tool for code generation from a simple model, * {{{./plexus-classworlds/}Plexus Classworlds}}: tool for advanced Java ClassLoader management. [[2]] <> (ie. implemented as {{{https://jcp.org/en/jsr/detail?id=330}JSR-330}} compliant components with /{{{https://www.eclipse.org/sisu/}Sisu}}): * {{{./plexus-archiver/}plexus-archiver}}: components to manipulate archives, * {{{./plexus-compiler/}plexus-compiler}}: components to manipulate compilers, * {{{./plexus-digest/}plexus-digest}}: * {{{./plexus-i18n/}plexus-i18n}}: * {{{./plexus-interactivity/}plexus-interactivity}}: * {{{./plexus-interpolation/}plexus-interpolation}}: flexible interpolation framework, * {{{./plexus-io/}plexus-io}}: components designed for use in I/O operations, * {{{./plexus-languages/}plexus-languages}}: shared language-oriented features (Java, ...), * {{{./plexus-resources/}plexus-resources}}: a component to transparently retrieve resources from the filesystem, classpath or internet, * {{{./plexus-velocity/}plexus-velocity}}: component to render velocity templates. [] [[3]] <>: * Plexus Parent POM: {{{./plexus-pom/}plexus}}, [[4]] <>: * {{{./plexus-utils/} Plexus Utils}}, * {{{./plexus-xml/} Plexus XML}}. [[5]] <(deprecated) {{{./plexus-containers/}Plexus Container}} (IoC container and companion tools)>, replaced by {{{https://www.eclipse.org/sisu/}Eclipse Sisu}} and {{{https://jcp.org/en/jsr/detail?id=330}JSR-330}} [] ============================ IMPORTANT NOTICE: Plexus Container and Companion Tools History Plexus was initially composed of 2 parts: Plexus Container (IoC and companion tools) and Plexus Components (like Spring IoC and Spring Components). The project was previously focused on {{{./plexus-containers/}Plexus Container (IoC and companion tools)}}, not so much on Plexus Components: <> is now replaced with {{{https://www.eclipse.org/sisu/}Eclipse Sisu}}, written as a {{{https://jcp.org/en/jsr/detail?id=330}JSR-330}}-compliant extension on Google Guice. We kept the whole IoC + components content in this site for IoC historical reference, even if the <{{{./plexus-containers/}IoC and companion tools}}> part is now obsolete. ============================ See the {{{./ref/feature-comparison.html} Feature Comparison}} page for more information on the differences between Plexus and other IoC ecosystems. The Plexus project provides a number of pre-built components for common tasks and toolkits such as Velocity, i18n, and {{{./ref/available-components.html} many more}}. For answers to common questions about Plexus, see the {{{./faq.html} FAQ}}.