Class DefaultDependencyManager

java.lang.Object
org.eclipse.aether.util.graph.manager.AbstractDependencyManager
org.eclipse.aether.util.graph.manager.DefaultDependencyManager
All Implemented Interfaces:
org.eclipse.aether.collection.DependencyManager

A dependency manager that applies management at all levels with aggressive transitive behavior.

Overview

This manager provides the most aggressive dependency management approach, applying management rules at every level of the dependency graph. Unlike other managers, it starts applying management from the very first level (depth=0) and continues indefinitely.

Key Characteristics

  • Aggressive Application: deriveUntil=Integer.MAX_VALUE, applyFrom=0
  • First Level Management: Applies management even at the root level
  • ModelBuilder Interference: Ignores and overrides ModelBuilder's work
  • Complete Transitivity: Manages dependencies at all depths

When NOT to Use

⚠️ Warning: This manager is not recommended for Maven or Maven-like use cases because it interferes with ModelBuilder, potentially rewriting models that ModelBuilder has already processed correctly. This can lead to unexpected dependency resolution behavior.

When to Use

Consider this manager only for non-Maven scenarios where you need complete control over dependency management at all levels and are not using Maven's ModelBuilder.

Comparison with Other Managers

Since:
1.4.0
Author:
Christian Schulte
See Also: