Skip to main content
TrustRadius
Apache Maven

Apache Maven

Overview

What is Apache Maven?

Apache Maven is an open source build automation tool.

Read more
Recent Reviews

TrustRadius Insights

Apache Maven is highly regarded by organizations and developers for its versatile use cases in building and packaging applications. For …
Continue reading

Apache Maven

9 out of 10
December 28, 2017
Incentivized
Apache Maven is used as a build tool in our organization. Maven along with Gradle are the 2 most used tools for building Java or Scala …
Continue reading

Apache Maven Review

5 out of 10
June 17, 2016
Incentivized
Maven is often used in our Tech Dev department in a variety of Java projects to help speed up the process of dependency configurations and …
Continue reading
Read all reviews

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is Apache Maven?

Apache Maven is an open source build automation tool.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

21 people also want pricing

Alternatives Pricing

What is Liquibase?

Liquibase is a database change management tool that helps teams release software faster and safer by bringing the database change process into existing CI/CD automation. According to the 2021 Accelerate State of DevOps Report, elite performers are 3.4 times more likely to incorporate database…

What is Bitrise?

Bitrise, software from the company of the same name in Budapest, helps users automate daily app development tasks from building through testing to deployment. With Bitrise, users can configure these tasks with a visual Workflow editor, with over 330 service integrations ready to roll. All…

Return to navigation

Product Details

What is Apache Maven?

Apache Maven Video

What is Apache Maven?

Apache Maven Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Apache Maven is an open source build automation tool.

Reviewers rate Support Rating highest, with a score of 5.1.

The most common users of Apache Maven are from Enterprises (1,001+ employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(60)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Apache Maven is highly regarded by organizations and developers for its versatile use cases in building and packaging applications. For instance, ARM marketing firm relies on Apache Maven as an integral part of their build infrastructure, simplifying the build process and facilitating dependency management for their Java-based web applications. This allows them to easily manage projects and utilize different project versions.

Similarly, Cognex, an enterprise organization, also utilizes Maven extensively across their entire code suite. By using Maven, they can streamline the management of third-party dependencies and customize build steps, making it easier to maintain and update their projects. Maven's integration with Git and Jenkins CICD pipeline further enhances efficiency by automating the build process.

Furthermore, Apache Maven finds extensive use in universities, serving as the main packaging tool for building and packaging applications within the development environment. Its adoption contributes to a standardized build process that spans multiple departments, ensuring uniformity and efficiency across various projects.

Another noteworthy application of Maven is in Java Enterprise products where it serves as a reliable system for dependency management. Companies rely on Maven to handle both standard Java Maven projects as well as Gradle-based projects, allowing for seamless collaboration between internal and external applications.

Moreover, open source community members frequently turn to Apache Maven for building their diverse range of open source projects. Its compatibility with any Java IDE provides users with support for code reuse and resource management.

Lastly, in organizations like Cognex's Tech Dev department, Maven shines in speeding up dependency configurations and project packaging for Java projects. It is often integrated with automation test projects and seamlessly works alongside Jenkins for continuous integration.

Overall, Apache Maven's versatile nature makes it an indispensable tool across industries and organizations of varying sizes, addressing crucial aspects like build automation, dependency management, documentation, and standardization of processes.

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.

Dependency Management Issues: Some users have experienced frequent conflicts during local project builds with Maven's dependency management system. These conflicts can make it challenging to resolve and manage dependencies effectively.

Manual Configuration of JAR Files: Users found it problematic and time-consuming to manually add and configure JAR files in Maven. This manual process can be error-prone, especially when dealing with complex projects with multiple dependencies.

Error Handling and Reporting Mechanism: Several users have expressed the need for improved error handling and reporting in Maven. They feel that the current mechanism lacks clarity and does not provide sufficient information for troubleshooting issues during build processes.

Users have made several recommendations regarding Apache Maven.

First, users recommend using Maven for automating Java projects due to its safety, reliability, and network compatibility. Additionally, Maven is considered easy to use for beginners and has extensive community support.

Second, users suggest referring to the documentation for better understanding and fully utilizing Maven's capabilities. They also recommend thorough training on Maven implementation to take advantage of its power as an automation tool for Java/Scala projects.

Third, users advise exploring other build tools like Gradle and considering specific project needs. They suggest researching and reading books or tutorials to become well acquainted with Maven. Additionally, leveraging the open-source community and considering alternative options before making a decision are also mentioned as valuable steps.

Overall, users find Apache Maven to be a reliable and popular build automation tool for Java projects. They recommend it for its safety, ease of use for beginners, documentation, and strong community support.

Attribute Ratings

Reviews

(1-14 of 14)
Companies can't remove reviews or game the system. Here's why
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Reliable
  • Consistency
  • Good for documentation.
  • I cannot think of anything to put here.
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.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Dependency management.
  • The download of dependencies.
  • Build steps in different configurations.
  • Graphical user interface.
  • Searching dependencies.
  • Predefined build templates.
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.
September 06, 2022

Maven is a best build tool

Mohammad Rashid Raza | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Add and resolve dependencies
  • Create a single or multiple package for whole project code
  • Manage project versioning and metadata
  • All are fantastic, I have been using this from last 8 years
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.
Sharang Dwivedi | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Software versioning
  • CICD integration
  • Dependency management
  • How to use tutorials for beginners, learning curve should be easy
  • Sometime understanding the POM is diffecult
  • Only works with java
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.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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).
  • 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.
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.
Score 7 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Build resolution.
  • Sometimes useful error messages.
  • Lots of static XML.
  • Copypasta.
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.
heather collins | TrustRadius Reviewer
Score 6 out of 10
Vetted Review
Verified User
Incentivized
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.
  • 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.
  • 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.
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.
Score 5 out of 10
Vetted Review
Verified User
Incentivized
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.
  • Reuse code and resources
  • Compatible with a wide range of Java IDEs
  • It helps to download resources over the network.
  • 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.
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.
Score 7 out of 10
Vetted Review
Verified User
Incentivized
At our university, we decided to purchase a new portal implementation to serve as the landing page for our students, faculty and staff members. We decided to go with a Liferay portal for that purpose. For building and packaging our applications we decided to use Open Source software Apache Maven. Maven is used throughout our development environment as the main packaging tool.
  • If you are building in the Java ecosystem, then Maven definitely has the biggest repository of artifacts needed for such projects.
  • It has a very simple to use extendable architecture. Everything is configurable through the Pom.xml file which is very simple to follow.
  • In our use of this software, we have found several issues with its dependency management system. Firstly due to its caching mechanism, it can sometimes show conflicts when building the project locally.
  • Adding and configuring the project to support manually added JAR files can be problematic. The error handling and reporting mechanism should be improved.
Building and automating packaging of software can be a challenging task. As the complexity of the project grows so do the dependencies on third-party artifacts. Using Maven we can define and manage the project structure centrally and it helps improve overall build times.
December 28, 2017

Apache Maven

Score 9 out of 10
Vetted Review
Verified User
Incentivized
Apache Maven is used as a build tool in our organization. Maven along with Gradle are the 2 most used tools for building Java or Scala applications.
  • Maven is useful in building Java applications.
  • Quick project setup, no complicated build.xml files, just a POM and go. Reduces the size of source distributions, because jars can be pulled from a central location.
  • Maven provides a very rigid model that makes customization tedious and sometimes impossible. While this can make it easier to understand any given Maven build, as long as you don’t have any special requirements, it also makes it unsuitable for many automation problems.
  • Maven has few, built-in dependency scopes, which forces awkward module architectures in common scenarios like using test fixtures or code generation. There is no separation between unit and integration tests
  • By making it simple to manage multiple projects it promotes modular design of code.
  • It is easy to use modular code, but when the code is in separate compiling projects it is impossible to cross references between modules of code. Maven helps by enforcing modular design of code.
  • Dependency Management is very simple and clear.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
I set up a set of automation test projects with Apache Maven. It managed several testing projects with different levels. I also integrated it with Jenkins. It helps with continuous integration.
  • It's easy to manage the libraries. Just need to update the pom file, you can easily manage and update libraries in one place.
  • Good to manage different modules.
  • Integrates with Jenkins. Compatible with other open source tools and continuous integration.
  • Sometimes it kept the old report, and caused the maven build [to] fail.
  • More improvements needed to manage different levels of pom.
[It's well suited] when you need to manage a project with different modules. It will have good management with different modules, projects, and its sub-projects. It's also well suited when you need to manage projects which have a large number libs that you need to manage. Also Maven project is supported in Jenkins and CI tools. Can be good to apply for a CI project. Also good for automation testing projects, for example: testNG+Maven good for UI/API test. Can not think a scenario that is less appropriate. Maybe a more complex project might be less appropriate, since the projects I am working on is not very big.
June 17, 2016

Apache Maven Review

Score 5 out of 10
Vetted Review
Verified User
Incentivized
Maven is often used in our Tech Dev department in a variety of Java projects to help speed up the process of dependency configurations and project packaging.
  • Facilitates build processes: through the use of POM files and plugins, this feature helps developers focus less on the tedious mechanical details of project implementation.
  • Well organized: users are able to locate their project information easily, whether it's dependencies, test reports, etc.
  • Catalyzes process for making updates and migrations: minimal time is needed for users to make changes to their project based on new installations, etc.
  • Compilation errors can be a bit extensive
  • Difficulty in maintaining jars in repository for large projects
  • Certain Maven conventions are set in stone, causing inflexibility (one artifact per project, etc.)
Maven most likely works best for a single application, rather than a large scale project that requires development that is widely distributed or is heavily dependent on other projects. It may also be less appropriate for those who need their application to be integrated quickly. There is a steep learning curve for Maven: command line, IDE, build phases, packaging types, etc. For certain teams of developers, Maven is great as it provides proper structure and conventions to make everyone be on the same page.
June 10, 2016

Maven review

Ken O'Connell | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Apache Mave is used by the whole organization to build an entire code suite (not at Cognex).
  • Good build structure and open source community
  • Excellent management of build artifacts (GAV)
  • Integrates well with other tools
  • Better support channels
Apache Maven is better for JAVA shops, or those willing to switch their Ant builds to Maven.
Return to navigation