For a dependency management and build tool for Java projects, the strongest matches are apache/maven (Maven is the de facto standard Java build and), pantsbuild/pants (Pants is a polyglot build system that fully supports) and gradle/gradle (Gradle is an integrated build automation and dependency management). sbt/sbt and bazelbuild/bazel round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Build automation frameworks and dependency resolution systems for managing Java project lifecycles and library integrations.
Maven is a Java build automation tool and software build orchestrator. It functions as a project lifecycle manager and dependency management system, using a standardized project object model to compile, test, and package Java projects. The project distinguishes itself through a phase-based build lifecycle and a plugin-based extension model, allowing users to bind custom goals to specific build stages. It coordinates complex software through multi-module project orchestration and ensures a reproducible build workflow by neutralizing environmental variables and controlling toolchain versions.
Maven is the de facto standard Java build and dependency management tool, providing a lifecycle-based build system, dependency resolution via Maven coordinates, a vast plugin ecosystem, and multi‑module project support — exactly the integrated system this search is after.
Pants is a monorepo build system designed to manage multi-language software projects within a single repository. It functions as a polyglot task runner and distributed build orchestrator, providing a unified interface for executing compilers, linters, and test runners across different programming languages. The system is distinguished by a dependency analysis engine that uses static source code analysis to model software dependencies, removing the need for manual build metadata files. It ensures reproducible builds through hermetic isolation and protects the software supply chain using depend
Pants is a polyglot build system that fully supports Java projects with advanced dependency resolution, incremental builds, monorepo management, and a plugin ecosystem, making it a comprehensive build and dependency management tool for Java.
Gradle is a build automation tool for the Java Virtual Machine that functions as a polyglot build orchestrator. It automates the compilation, testing, and packaging of software across multiple programming languages using a structured workflow. The project acts as a build performance optimizer, utilizing daemon processes, parallel execution, and result caching to reduce redundant computation. It also serves as a dependency management system that resolves external libraries and plugins while verifying checksums to ensure integrity. The system coordinates complex build lifecycles and task depen
Gradle is an integrated build automation and dependency management system for JVM projects that directly covers all requested features — dependency resolution, artifact publishing, lifecycle phases, plugin ecosystem, multi-project support, incremental compilation, and repository integration — making it the definitive tool for this search.
Sbt is a JVM build tool and dependency management system designed for Scala and Java. It functions as a multi-project build orchestrator that manages the compilation of source code, resolves external libraries from remote repositories, and packages binaries for distribution. The project is distinguished by its interactive build system, which provides a read-eval-print loop for real-time state inspection and task execution. It utilizes a dependency-graph based execution model to process tasks and maintains a type-safe key-value store for dynamic build configuration. Its capabilities cover JVM
Sbt is a full-featured build and dependency management tool for JVM projects including Java, offering dependency resolution, artifact publishing, multi-project support, incremental compilation, and a plugin ecosystem — exactly the integrated system this search asks for.
Bazel is a multi-language build automation engine designed to manage complex dependency graphs and execute compilation tasks for massive codebases. It functions as a hermetic build environment, utilizing sandboxed execution and content-addressable caching to ensure that build artifacts are reproducible and that identical tasks are never re-executed. By modeling dependencies as a directed acyclic graph, the system determines optimal execution order and identifies tasks that can run in parallel. The project distinguishes itself through its support for distributed build execution, allowing resou
Bazel is a multi-language build automation engine that handles both dependency management and build automation for Java projects, featuring dependency resolution, incremental compilation, a rich plugin ecosystem via custom rules, and repository integration, making it a comprehensive integrated system for large-scale Java builds.
GitBucket is a self-hosted Git platform and version control hosting service that provides a web interface for managing repositories, issues, and pull requests. Built with a Scala-based manager, it functions as a GitHub API compatible server, allowing it to integrate with external tools that rely on that specific industry schema. The platform distinguishes itself by integrating a Maven repository host for storing and retrieving Java build artifacts alongside source code. It also features a plugin architecture that enables the addition of custom logic and new functionality to the core system.
GitBucket is a self-hosted Git platform that includes a Maven artifact repository and plugin system, but it does not handle dependency resolution, build lifecycle phases, or incremental compilation — it is a hosting service for version control and artifacts, not an integrated Java build and dependency management tool.
Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.
Moon is a polyglot monorepo build system and task runner, but it is not a dedicated Java build and dependency management tool — it lacks built-in Java dependency resolution, artifact publishing, and incremental compilation, making it a neighbouring orchestration layer rather than the integrated system this search asks for.
Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It functions as a cross-platform development toolkit that enables the sharing of business logic across mobile, web, and server-side environments by compiling a unified intermediate representation into platform-specific machine code, bytecode, or source code. The project distinguishes itself through a multi-target build orchestration model that manages complex compilation units and hierarchical source sets. Developers can define common interface logic that is satisfied by platform-sp
Kotlin is a programming language and multiplatform toolkit, not a general-purpose Java build and dependency management tool — it relies on plugins for build systems like Gradle and Maven rather than providing integrated build automation and dependency resolution itself.
The dependency analysis Gradle plugin is a diagnostic and management tool designed to optimize build configurations for JVM and Android projects. It identifies unused dependencies and plugins by inspecting source code and compiled bytecode, ensuring that project configurations remain lean and efficient. By integrating directly into the build lifecycle, the plugin provides actionable insights that help maintain clean dependency declarations and reduce unnecessary build overhead. The project distinguishes itself through a heuristic-based advice engine that explains the rationale behind every re
This is a Gradle plugin for dependency analysis and optimization, not a standalone build and dependency management tool; it extends a build system rather than providing the integrated build automation and dependency management you are looking for.
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Cargo is a build system and package manager for Rust, not Java, so it does not provide the Java-specific dependency management and build automation this search requires.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| apache/maven | 5.2K | Java | Apache-2.0 | |
| pantsbuild/pants | 3.7K | Python | apache-2.0 | |
| gradle/gradle | 18.7K | Groovy | Apache-2.0 | |
| sbt/sbt | 4.9K | Scala | Apache-2.0 | |
| bazelbuild/bazel | 25.5K | Java | Apache-2.0 | |
| gitbucket/gitbucket | 9.4K | Scala | Apache-2.0 | |
| moonrepo/moon | 3.7K | Rust | mit | |
| jetbrains/kotlin | 52.9K | Kotlin | — | |
| autonomousapps/dependency-analysis-gradle-plugin | 2.1K | Kotlin | Apache-2.0 | |
| rust-lang/cargo | 14.6K | Rust | apache-2.0 |