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

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

Anonymous | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Apache Maven

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.
  • Prevents "re-inventing the wheel."
  • Prevents putting dependency libraries in local source control.
If there are competitor products out there, I've never heard of them. This is the solution for Java dependency management. From my experience, the alternative is "no solution, create your own."
I can't speak to the support, as I've never had issues. Apache Maven "just works," and errors were user errors or local nexus errors. Apache Maven is a great build/dependency management tool. I give it a 9/10 because occasionally the error message don't immediately indicate a solution...but again, those errors were always user or configuration errors, and the Maven documentation is extensive, so I don't find fault in Maven, but in its users.

Do you think Apache Maven delivers good value for the price?

Yes

Are you happy with Apache Maven's feature set?

Yes

Did Apache Maven live up to sales and marketing promises?

Yes

Did implementation of Apache Maven go as expected?

Yes

Would you buy Apache Maven again?

Yes

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.