A Bill of Materials (BOM) for managing compatible versions of the Project Reactor reactive programming libraries.
Reactor is a Bill of Materials (BOM) for the Project Reactor ecosystem. It is a Maven POM that defines compatible versions for all Reactor libraries, such as reactor-core and reactor-netty, allowing developers to manage dependencies without specifying individual versions. It solves the problem of version conflicts and ensures a stable set of reactive libraries work together seamlessly.
Java and JVM developers building reactive applications, particularly those using Spring WebFlux or other reactive frameworks who need reliable dependency management for Project Reactor components.
Developers choose the Reactor BOM because it guarantees version compatibility across the entire Reactor suite, reduces dependency management overhead, and follows a clear release train model with curated updates, making it the official way to consume Reactor libraries in a safe and maintainable manner.
Reactor Bill Of Materials (tracking reactor-core, reactor-netty and more)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single BOM artifact that ensures all Reactor dependencies use compatible versions, eliminating manual version specification and reducing dependency conflicts.
Curates versions for reactor-core, reactor-netty, and various addons, guaranteeing they work together seamlessly in reactive applications without version mismatches.
Supports both Maven and Gradle, with clear instructions for Gradle 5.0+ and a plugin for Gradle 4.x, making it adaptable to different project setups.
Uses a calendar-based versioning scheme with codenames, promoting stability and ease of upgrades through a clear, curated release train model.
Requires an external plugin (Spring's gradle-dependency-management plugin) for integration, adding extra setup steps and potential dependency management overhead.
Only manages versions for Reactor libraries, so projects with mixed dependencies need additional tools or manual management for non-Reactor components.
Forces use of specific library versions together, which can be restrictive if a project needs to mix versions or use patched releases not included in the BOM.