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.
Loading Reviews List....
Apache Maven Reviews
5 Reviews
Engineering
Search is temporarily unavailable. Filters are still applied.
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.
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.
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.
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.
Pros
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.
Cons
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
Likelihood to Recommend
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.