Apache Maven VS Bazel

Compare Apache Maven vs Bazel and see what are their differences.

Our great sponsors
  • Mergify - Automate your Pull Request with Mergify
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
Apache Maven Bazel
2 61
3,112 18,621
2.3% 1.4%
9.0 10.0
7 days ago 6 days ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apache Maven

Posts with mentions or reviews of Apache Maven. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-15.

Bazel

Posts with mentions or reviews of Bazel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-09.
  • Tensorflow Compile Runs For A Long Time
    1 project | reddit.com/r/codehunter | 9 May 2022
    So I am trying to compile TensorFlow from the source (using a clone from their git repo from 2019-01-31). I installed Bazel from their shell script (https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-installer-linux-x86_64.sh).
  • Having trouble installing bazel on Mac OS
    2 projects | reddit.com/r/bazel | 9 May 2022
    hmm might have to do a clean uninstall and do a re-install. Make sure you've deleted the cache file as well. You can find instructions here: https://github.com/bazelbuild/bazel/issues/838
    2 projects | reddit.com/r/bazel | 9 May 2022
    no, that wont work as far as i know. did you try installing using homebrew? Seems like there's a version where it causes some conflict on .bazelversion that gies out an error (https://github.com/bazelbuild/bazel/issues/10356). They seem to have fixed it but may be it just works better as a homebrew install.
  • Google Is 2B Lines of Code–and It's All in One Place
    3 projects | news.ycombinator.com | 6 May 2022
    (Opinions are my own)

    > Do they do an immense amount of code generation?

    Blaze (aka Bazel [0]) has provisions that make it easy to generate code but this happens as a compile step rather than something that is checked into a git repo.

    [0] - https://bazel.build/

  • Bazel in Vulkan Projects. Part 1 — Environment Setup
    1 project | reddit.com/r/vulkan | 6 May 2022
    Yeah, similarly to cmake, Bazel is a build tool. Here is its official webpage https://bazel.build/
  • Source forest creation failed error
    1 project | reddit.com/r/bazel | 30 Apr 2022
    Best to post on the bazel issue tracker https://github.com/bazelbuild/bazel/issues
  • Building a Node.js monorepo with Pnpm and Nx
    1 project | reddit.com/r/node | 28 Apr 2022
    About multi-language monorepos, I have not tested it by myself, but I think that maybe Nx is not the best tool. It is mainly focused on JavaScript. It has a lot of plugins for different JavaScript frameworks, but there are very few plugins for other languages. You can check a list of available community plugins here. Maybe you can try with Bazel or any other monorepo tool more focused to multi-language. This site contains a comparison between tools and other resources that may be useful before taking a decision.
  • Casync – A Content-Addressable Data Synchronization Tool
    10 projects | news.ycombinator.com | 22 Apr 2022
    I did PoC experiments with compression, chunking, and IPFS here: https://github.com/SaveTheRbtz/bazel-cache

    If you need a mature compression implementation for bazel I would recommend using recent bazel versions w/ gRPC-based bazel-remote: https://github.com/buchgr/bazel-remote

    bazel nowadays supports end-to-end compression w/ `--experimental_remote_cache_compression`: https://github.com/bazelbuild/bazel/pull/14041

  • Looking for an AWS job in Germany
    1 project | reddit.com/r/sre | 21 Apr 2022
    It’s intentionally vague because there’s so much that isn’t publicly available info that we’re not allowed to advertise or mention in a job posting. As far as I know nothing about our CI/CD stack is open sourced or based on existing open source tools outside of Bazel (https://bazel.build), which is known internally as Blaze and is publicly well documented as part of our distributed build system.
  • Run e2e tests 10x faster using firecracker VMs
    5 projects | news.ycombinator.com | 17 Apr 2022
    > Why do you need to snapshot live processes?

    Often times there are long-living processes which rarely change but take a long time to warm up. The Bazel [1] agent for C++ projects, the buildkit [2] state for docker, or the running Postgres or Redis server for a cloud native app for example.

    It's why running "docker build" twice on your laptop is so fast, but running "docker build" in CI seems glacially slow.

    > why is docker-in-docker a requirement, and how is that easier than qemu in qemu or qemu in docker or whatever?

    The example given was running "docker-compose build", so you'd need either docker-in-firecracker (this post), docker-in-docker, or docker-in-qemu. You'd almost never run docker-compose build on bare metal in practice, because you'd immediately need to push the images you built somewhere to use them.

    [1] https://bazel.build/

What are some alternatives?

When comparing Apache Maven and Bazel you can also consider the following projects:

Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.

Gradle - Adaptable, fast automation for all

mediapipe - Cross-platform, customizable ML solutions for live and streaming media.

meson - The Meson Build System

jib - 🏗 Build container images for your Java applications.

Rake - A make-like build utility for Ruby.

skaffold - Easy and Repeatable Kubernetes Development

ninja - a small build system with a focus on speed

Flux - Successor: https://github.com/fluxcd/flux2 — The GitOps Kubernetes operator

pants - The Pantsbuild developer workflow system

bazelisk - A user-friendly launcher for Bazel.