Java

Maven vs. Ant features

Apache Maven Simplifies the Java Build Process... Even More Than Ant proposes this DevX article that explains some issues about the Project Object Model (POM) and cross project reuse / cross developer reuse and some of the more advanced logic/expression/scripting features included… also there's a great feature comparison chart hidden after a java-script popup i would like to replicate here…

Concept Maven Ant
Invokable grouping of build tasks Goal Target
Project meta-data file (POM) <b>project.xml</b>
Goal/Target definition file (project-specific) <b>maven.xml</b> <b>build.xml</b>
Goal definition file (cross-project) <b>maven.xml</b>
Goal/Target creation language Jelly Script, which includes Ant tasks and JSTL-like tags Ant tasks
Conditional logic and looping support Jelly has built-in tags based on JSTL Indirectly, through Script Task or a custom Task
Cross-project Goal/Target reuse Yes No
Cross-project Task reuse Yes Yes
Expression support Superset of JSP EL Basic property access
Goals prerequisites prerequisite attribute of goal tag depends* attribute of target tag
Goal/Target extensibility <preGoal> and <postGoal>

  • Don't confuse Maven's dependency concept with Ant's depends concept. They are different. The Maven term dependency refers to a project's runtime dependencies (jar files, etc.). Ant's term depends refers to a target-prerequisite.
Average rating
(1 vote)

Comments

Maven vs. Ant features

Some of these are just plain wrong.

The project meta data file for maven is 'project.xml'

For Goal/Target definition file (project-specific), it should be maven.xml

Maven vs. Ant features

Thanks dion, do you agree to the fixed now?
christoph

Similar entries