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.
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.
Pros
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.
Cons
Sometimes it kept the old report, and caused the maven build [to] fail.
More improvements needed to manage different levels of pom.
Likelihood to Recommend
[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.
VU
Verified User
Engineer in Quality Assurance (Computer Software company, 11-50 employees)
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.
Pros
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.
Cons
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.)
Likelihood to Recommend
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.
VU
Verified User
Engineer in Product Management (Telecommunications company, 10,001+ employees)