Did you know that Develocity Maven Build Scans now offers a Dependencies section that visualizes the resolved dependency graph used to form the classpaths for each module. It is available for every Maven captured build, without the need to invoke a specific Maven goal. Maven dependency resolution visualization requires Develocity Maven extension 1.4+.
The primary benefit for Maven users is dramatically more efficient troubleshooting due to the ability to more easily inspect and analyze the dependency resolution results for any build. As a result, it is now easy to understand the actual versions selected and where substitutions occurred.
Key Features
- View requested and selected versions of dependencies
Each direct and transitive dependency is visualized, indicating the requested version or range of versions and selected versions of a dependency.
- Identify selected SNAPSHOT version
When a SNAPSHOT version is requested, that unique version of the SNAPSHOT is shown.
- Identify dependency versions affected by a dependency conflict
When the requested version of a dependency cannot be satisfied due to a conflict with another dependency, the version ultimately selected is shown.
- Filter dependencies
Visualizations can be filtered by specific project, scopes, dependencies matching a search term, dynamic dependencies, dependencies where the selected version was different from the requested version.
- View resolved repositories
The repositories used to resolve and obtain the dependencies are visualized, including snapshot update policies and mirror settings.
- Compare resolved dependencies
Maven build comparison includes a comparison of the resolved dependencies between two builds. It shows added or removed dependencies and changes in versions, including differences in resolved snapshot version numbers. In cases where a build fails, comparison to a recent successful build makes it easier to identify the root cause of the failure.
Conclusion
Dependency management capabilities for Maven available in Develocity make it easier than ever to debug dependency related build problems in Maven builds by providing a level of data visibility — critical to conducting failure and root cause analysis — that you don’t get using Maven alone.
Next Steps
- If you want to learn more about these features by reviewing practical use cases that exercise each of the features described above, check out this Blog.
- If you aren’t already using Develocity, you can try this out with the free scans.gradle.com service which provides some of the features of Develocity. To enable dependency comparison, have complete on-premise data privacy, and get other features like Build Caching, Test Distribution, Build & Test Failure Analytics (including flaky test management capabilities), and Trends & Insights (performance and failure dashboards), sign up for a 30-day, free trial. During your self-hosted trial, you’ll also get in-house consulting from Maven experts on the Develocity team to help improve the speed and reliability of your Maven builds.