I made a change in the blogger configuration to ease the later work when blogging. It is possible that older entries are not correctly formatted.

Saturday, 19 September 2009

Quote the Maven: Evermore!

Well sorry about that my dear Poe! I really like Maven a lot. It is a really good programming management tool. It is a step up from Ant, yet it simplifies a lot of aspects. And moreover it has a very useful set of plugins and software repositories. The main properties of Maven:
  • Workflow and tasks based
  • modular
  • dependency management
  • extensible
  • platform adaptable

Workflow and tasks based

Maven is based on a controlled workflow of tasks performed, sequentially. You can call some particular task. Maven will make sure the tasks required before this task will be performed if needed. For example, if you wish to package a certain jar. Maven will take care of the compilation and the signing.

Modular

Maven is capable of working with different modules. The modules required by a given module will be then built if needed.

dependency management

At the heart of maven, there is a dependency management framework: Ivy. This allows to ensure that the packages used and constructed have a compatible version with the code needed.

extensible

Maven is based on a set of multiple plugins, which can be easily extended or retrieved from a repository on the Internet. Each of this plugin performs a specific task. The tasks to be performed are configured in the pom.xml, which is the configuration file for a module in maven.

platform adaptable

Using maven, you can build different binaries or packages depending on the target platform. You need to describe a given profile. This introduction did not present any example or code. This will be done in the next step.