TrustRadius: an HG Insights company
Apache Maven Logo

Apache Maven Reviews and Ratings

Rating: 9.2 out of 10
Score
9.2 out of 10

Community insights

TrustRadius Insights for Apache Maven are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.

Pros

Simple Hierarchical Structure: Apache Maven offers a straightforward hierarchical structure for building and packing software artifacts, which has been positively mentioned by many users. This feature simplifies project organization and management effectively.

Different Configurations for Development and Production: Users have appreciated the ability of Apache Maven to support separate configurations for development and live production environments. This feature enables easy testing of applications and ensures reliable consistency throughout different stages of the project.

Easy Dependency Management: Multiple reviewers have highlighted the ease of adding and resolving dependencies in Apache Maven. This feature simplifies the process of managing external libraries and ensures that all required dependencies are included in the project.

Reviews

15 Reviews

Maven the expert in dependency and build management

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

Primarily Maven is used as build automation and dependency management tool in the organizations that I have worked. For java applications, maven eases the dependency management workflow throughout the release cycle and enable consistent dependency versions in all environments from local development to pre-production, till production environment. It also enables higher level dependency management across different apps and levels in the organization

Pros

  • Dependency management
  • Build management
  • Build automation

Cons

  • performance
  • extension management
  • maven cache

Likelihood to Recommend

For Java and JVM based (not limited) applications, it can be very useful. Especially if the application is enhanced or updated frequently and also the application is dependent on multiple other applications in-terms of integrations and module level dependencies. It can be useful to apply org level versions (for security, etc.,) for different libraries, promoting consistency and modularity.

Vetted Review
Apache Maven
8 years of experience

Maven to make dependency management easy.

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

We use Maven in our build pipeline to download and include correct versions of third-party dependencies in our application. The ability to keep track of indirect dependencies greatly simplifies the management of third-party libraries, which our application depends on. Maven is also used to apply custom build steps when building our application.

Pros

  • Dependency management.
  • The download of dependencies.
  • Build steps in different configurations.

Cons

  • Graphical user interface.
  • Searching dependencies.
  • Predefined build templates.

Likelihood to Recommend

Maven is great if you have an application with a lot of third-party dependencies and don’t want each developer to keep track of where the dependency can be downloaded. It’s also a great way to make it easy for a new developer to be able to build the application. It’s less suitable for simple projects without any third-party dependencies.

Vetted Review
Apache Maven
15 years of experience

Maven a reliable cog in our delivery process.

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

We use Maven for our build artifacts. It is a part of the pipeline for getting our code built and running in production. This works as an important cog in the delivery of new functionality and code to production. It is reliable and one of the parts of our build infrastructure that we don't have to be concerned about.

Pros

  • Reliable
  • Consistency
  • Good for documentation.

Cons

  • I cannot think of anything to put here.

Likelihood to Recommend

Getting products built in an internal environment and out to the production environment. This is our most commonly used scenario. This might not be as useful as a solution if you are looking to architect a solution that requires lots of vendor support. This is a simple tool to use if you are willing to architect it yourself.

Maven is a best build tool

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

As a build tool, we are using Maven with our Java-based project to add the libraries and dependencies in the project. With the help of that, we need not explicitly download the various jar and put it into our project. This makes our project easy and manageable and also use a version of the project build using Maven.

Pros

  • Add and resolve dependencies
  • Create a single or multiple package for whole project code
  • Manage project versioning and metadata

Cons

  • All are fantastic, I have been using this from last 8 years

Likelihood to Recommend

A project that we want to manage via libraries. Import and export various libraries and classes from one project to another. Add and download the project dependencies. Project structure or folder hierarchy. Various goals and parameters for different types of builds. Everything gets handled using a simple POM.xml file.

Maven for build automation

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

Apache Maven is used as a build automation tool and it simplifies the projects build process, dependency, and documentation. Apache Maven is able to solve many problems as below:

1. Software versioning.

2. Dependency management like includes the jars and other dependencies.

3. It has been integrated with the git and Jenkins CICD pipeline for the automatic build.

Pros

  • Software versioning
  • CICD integration
  • Dependency management

Cons

  • How to use tutorials for beginners, learning curve should be easy
  • Sometime understanding the POM is diffecult
  • Only works with java

Likelihood to Recommend

We are using the java langauge to develop our application hence Apache Maven is one of the best suitable build tools available. Our use case has been Project and dependency management. Building the jar files Software versioning. Useful in maintaining consistency in the project.

Apache Maven allows my company to be the best build we can be!

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

Apache Maven is being used throughout the entire enterprise organization. It's our go-to system to perform builds for our applications. Apache Maven makes it easy for us to have a uniform build system for multiple different departments. It standardizes the build process to ensure the quality of our build process. This allows the developers to focus on the actual code, not the build process itself.

Pros

  • Makes the build process simple and easy to do.
  • It provides a standard build system that can be adopted by multiple, different groups within an organization.
  • It's extensible with easy to use custom extensions which our developers take full advantage of.

Cons

  • The documentation could be a bit more detailed.
  • Initial setup for us in our environment was a bit of challenge.
  • The learning curve for this product is pretty steep. Your developers will definitely need some sort of training to get started and integrating it.

Likelihood to Recommend

Apache Maven is well suited for an environment where you want an easy to use system that can be rolled out to multiple departments throughout the enterprise. Apache Maven is a good solution for those looking for a build process that can be customized as much as they require. This system will allow a consistent build process, but still be flexible enough for individual departments to customize a solution to meet their specific needs.

Vetted Review
Apache Maven
8 years of experience

Apache Maven: What, are you pushing your libs to your git repo?

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

It is being used across the whole organization as the dependency management solution for all Java Enterprise products. It is used in both standard Java maven projects (using pom.xml) and gradle-based projects. We use a mix of publicly-available dependency downloads (such as mvnrepository.com), as well as local nexus servers. One downside in such a mixed-repo environment would be switching between profiles (in local settings) between projects. Some projects involve a local nexus server of "approved" libraries, whereas others allow any publicly-available repo. Switching between the two can involve IDE restarts and other minor annoyances in developer workflow.

Pros

  • Better project build and task automation than ant or any other conventional Java build configuration manager.
  • Easy dependency management for all popular java libraries, with the ability to support arbitrary dependency repositories (Nexus, e.g).

Cons

  • Better IDE integration. Still too many manual workflows in Eclipse and IntelliJ.
  • Similar to above, easier project-specific configuration management. I'm not aware of an ability to control which repositories are used by which projects, without updating the main maven config.

Likelihood to Recommend

If you're building a Java Enterprise application, you should use Maven. I'm not actually sure what the alternative is. Manually downloading Jar's and adding them to your classpath? Putting them in your source control repo? Hand-rolling everything you need, including String manipulation functions? This is really the only modern solution to Java library dependency management, and whether you use pom.xml, or build.gradle or some other abstraction, this is the de-facto standard for Java dependency management.

Vetted Review
Apache Maven
10 years of experience

Build automation for those who like XML

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

Maven is used across the org to build JVM based applications as well as few non-JVM ones which utilize the exec and release plugins to adhere to semantic version requirements. It is mainly used to solve build dependencies between internal and external applications.

Pros

  • Build resolution.
  • Sometimes useful error messages.

Cons

  • Lots of static XML.
  • Copypasta.

Likelihood to Recommend

Builds JVM applications very well. Wouldn't recommend for other types of applications. Many useful plugins make sure applications build and run correctly, at the expense of overly verbose XML.

Vetted Review
Apache Maven
3 years of experience

Apache Maven, Complete Review

Rating: 6 out of 10
Incentivized

Use Cases and Deployment Scope

At ARM marketing firm when we started working on our in-house custom-built applications and delivering web solutions to our clients, we decided to go with Java based web applications since our developers had the most experience in that domain. Apache Maven is an Open Source tool from the Apache Software Foundation that we use for building and packaging our applications.

Pros

  • Apache Maven uses a simple hierarchical structure for building and packing a software artifact.
  • Different configurations of the software can be used while working on the dev server as opposed to a live production environment. This makes testing the application very easy.

Cons

  • One of the issues with building software using Apache Maven is that its cache resolution is not optimal. It pulls down all the artifacts onto the developer's local machine and can sometimes result in conflicts.
  • The build process can vary in time and gets progressively longer as the project's complexity increases.

Likelihood to Recommend

In software development one of the major headaches for companies is managing third party libraries and dependencies. Apache Maven makes it a breeze on that front. We can lock in the specific versions of the libraries that we are currently using and can upgrade them at our own convenience.

Complex XML configuration

Rating: 5 out of 10
Incentivized

Use Cases and Deployment Scope

It is very easy to understand. Being popular in the open source community, various open source projects can be built using Maven. We use Maven for developing in-house projects. All Java IDEs provide support for Maven and it's compatible with any Java IDE. Using Maven, one can reuse code and resources.

Pros

  • Reuse code and resources
  • Compatible with a wide range of Java IDEs
  • It helps to download resources over the network.

Cons

  • Configuration is written into XML which is cumbersome.
  • New versions of libraries are added daily, It is very difficult for Maven to keep track of the dependancies.
  • It's inflexible and overcomplicated.

Likelihood to Recommend

For small projects, Maven can identify unused and transitive dependencies. For large projects, as it contains a large number of XML files which makes it difficult to understand and maintain. Maven makes your project build on a network connection. Not enough documentation on the web for beginners. Debugging is not easy as it is difficult to find bugs in your code.

Vetted Review
Apache Maven
3 years of experience