Frequently Asked Questions

  1. How mature is Plexus?
  2. Why isn't Plexus more popular?
  3. What is the difference between components.xml and plexus.xml?
How mature is Plexus?

Plexus has been in development for around 5 years, and the container API has been stable for over a year. Due to its heavy use in the production level application Maven 2, it is very well tested.

In addition, Plexus was originally based on the Apache Avalon Framework, which was used in a large number of production applications and frameworks and has existed for much longer, showing that the techniques used are sound.


Why isn't Plexus more popular?

While Plexus has been around for a number of years, it has never been widely promoted as a standalone product. The focus for its development have been to provide a container that could facilitate the needs of advanced application architectures such as Maven 2.0's plugin model.

With the stable release of Maven 2.0, Plexus as a standalone product has received more attention, as it is used to write Maven 2.0 plugins, and the benefits that it can provide to general application development can be seen.

In addition, Plexus has become attractive to those that need an application container, but for which the more popular frameworks such as Spring do not have the necessary capabilities.

With the upcoming Plexus 1.0 release, and its advanced features and integration with other frameworks, we hope that Plexus will become a more popular choice for all application developers in the future.


What is the difference between components.xml and plexus.xml?

Both components.xml and plexus.xml are components descriptors. But they differ in following respects:

- plexus.xml is a superset of components.xml

- components.xml only declares components while plexus.xml can be used to configure the plexus container and runtime in addition to declaring components.

- Many JARs in an application can have components.xml but there can be only ONE plexus.xml defined for an application.