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.