Apache Maven VS Gradle

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

Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
Apache Maven Gradle
1 34
2,919 12,938
2.2% 1.4%
9.0 10.0
1 day ago about 7 hours ago
Java Groovy
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 2021-01-08.
  • The Problem with Gradle
    2 projects | reddit.com/r/java | 8 Jan 2021
    https://github.com/apache/maven/blob/master/pom.xml#L33 Current state of the master branch: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316922&version=12349448

Gradle

Posts with mentions or reviews of Gradle. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-01.
  • Gradle: JLink & JPackage support
    1 project | reddit.com/r/java | 10 Jan 2022
  • Re-use Maven’s settings.xml server credentials for Gradle
    2 projects | dev.to | 1 Jan 2022
    I did a bit of googling and came across this Stackoverflow post, which led me to this Gradle issue and ultimately to this Github project. And as the project implies:
  • Ask HN: How do you Track new Versions of Dependencies?
    1 project | news.ycombinator.com | 7 Dec 2021
    Append `/releases.atom` to any GitHub repository, and you'll get an RSS feed.

    Example: https://github.com/gradle/gradle/releases.atom

    You can add that to your email client, such as Thunderbird. You get the releases and the release notes. I use that for our dependencies and I read the release notes. I also pull the repos and read many commit logs and diffs to predict the direction of these dependencies: if I see a lot of "movement" and "activity" in a category, I can fairly accurately predict that there will be more and I can shape our engineering effort that way.

    Example in Thunderbird on Ubuntu:

    - Click on the menu

    - Click New

    - Click "Feed account"

    - Enter a name "My project's dependencies"

    - Click "Next"

    - Click "Finish"

    You will have one "My project's dependencies" element appear on the left sidebar in Thunderbird. Click on that, then:

    - Click "Manage feed subscriptions", from the right pane.

    - Enter: https://github.com/gradle/gradle/releases.atom in the "Feed URL" field on the window that appears

    - Click "Add"

    - Click "Close".

    You will see "Release notes from gradle" appear on the left sidebar, as a child element of "My project's dependencies" 'feed account'.

  • Introduction to Appwrite Cloud Functions with Android and Kotlin
    4 projects | dev.to | 21 Oct 2021
    First of all, we need a new Kotlin project, I'm going to use Intellij Idea as an IDE with gradle build system.
  • SDKMan, adding unlisted versions
    3 projects | dev.to | 19 Oct 2021
    SDKMan is a fantastic tool, I believe no one has doubts! Since I installed it, my concerns with Gradle, Java, Kotlin versions, among other SDKs ended... As a JVM developer, just not needing to adjust the infamous JAVA_HOME, M2_HOME and others, have already turned my days into happier days.
  • Any way to auto add all folders in a directory to a workspace?
    1 project | reddit.com/r/vscode | 17 Oct 2021
    Use Maven or Gradle to manage your projects, both of which support multi-module projects (where each module will be treated as a separate project by the Java extension).
  • SDKMan, adicionando versões não listadas
    3 projects | dev.to | 16 Oct 2021
  • Getting Started With Java 17
    1 project | reddit.com/r/java | 4 Oct 2021
    I've opened https://github.com/gradle/gradle/issues/18530 for the release flag, mostly to figure out when options should be added to the compile task vs the java plugin extension
  • how to get the "if you draw any item you get it" mod?
    3 projects | reddit.com/r/Minecraft | 21 Aug 2021
    MCreator can get you started on that. MCreator is really easy to use, and you can learn how to mod via that. But if you prefer not to use MCreator, you will need an IDE (IntelliJ IDEA, Eclipse, VS Code, etc), Gradle or Maven, and knowledge on Java and Object-Oriented Programming (OOP)
  • Resources for learning how to create mods
    3 projects | reddit.com/r/Minecraft | 9 Aug 2021
    MCreator might help here. Other than that, you'll need an IDE (IntelliJ IDEA, Eclipse, or VS Code), Gradle or Maven, and knowledge on Java and OOP (Object-Oriented Programming). If you learned OOP from Python, or JS, the same concept applies, but it's different on Java

What are some alternatives?

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

Bazel - a fast, scalable, multi-language and extensible build system

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

maven-mvnd - Apache Maven Daemon

Apache Ant - Apache Ant is a Java-based build tool.

gradle-lint-plugin - A pluggable and configurable linter tool for identifying and reporting on patterns of misuse or deprecations in Gradle scripts.

kotlin - The Kotlin Programming Language.

maven-compiler-plugin - Apache Maven Compiler Plugin

groovy - Apache Groovy: A powerful multi-faceted programming language for the JVM platform

JSHint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code