London Java Community: Maven

Martijn Verburg and Michael McCarthy guide the users through a whistle stop tour of Maven. Martijn describes Maven as a Java project management (life cycle) tool rather than as a simple build tool. It has a simple XML configuration model known as the Project Object Model to describe the dependencies and external modules a project utilises. Maven is explained to be capable of automatically organising these for the user, and drives forward the idea of compiling before testing, testing before packaging, and packaging before installation then finally deployment. Deeper into the talk, shows an example of a POM file and features Maven’s ability to give pre-defined targets for performing common tasks such as compiling code and the packaging. Maven is built around the idea of reusing build logic and standardising builds by preferring conventions over configuration.