Write a review to share your experiences with open source!
On DevRates we focus on reviews by developers using libraries on their daily work.
Interested in the latest trends and top-rated open source projects for all layers of your application?
DevRates contains projects reviews of most popular tagged categories and programming languages.
Follow projects and don't miss any news from blogs and twitter on your wall.
Your company is looking for talented developers? Register on DevRates and show your technology stack on your company profile.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Maven, a Yiddish word meaning accumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.
The result is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project.
full review »
Maven is not only about managing lib dependencies, it's about managing projects lifecycle. Which is obviously not a simple task, hence the complexity of the tool.
full review »
The framework is useful and powerful. However, the pom.xml is much too verbose (perhaps namespaces should be used as this is done in Spring?).
full review »
I used to hate Maven with a passion. It's ideas are quite allright, but it's implementation and the organization of the Maven central repo was and still is a disaster. Dependency management is quite important these days, and it's one of the features Maven is best known for, but you can't use Maven only for its dependency management really. The mandated project structure and the entire "Maven way or the high way" comes coupled with it.
Still, knowing Maven is unavoidable for a Java programmer these days. Whether you're an application programmer that wants to make use of third party projects, or a (open source) library writer, the sheer popularity of Maven means you simply can't ignore it.
So, I advise everyone in Java to learn this tool, but I'm personally not the biggest fan of it.