How to create an Ant build file from Maven (pom.xml)?

In some cases, you may need to generate Ant build file (build.xml) for your project integration purpose. For example, the klockwork code analysis tool is required Ant file to perform the static code analysis processes for java project.

Maven Ant plugin

Maven comes with a handy Ant plugin to generate Ant build file from Maven pom.xml easily. Locate your pom.xml file, and issue the command : mvn ant:ant.

D:\Project_ABC>mvn ant:ant

Output

D:\Project_ABC\SWP>mvn ant:ant
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'ant'.
[INFO] artifact org.apache.maven.plugins:maven-ant-plugin: checking for updates from central
...
[INFO] ------------------------------------------------------------------------
[INFO] Building abc
[INFO]    task-segment: [ant:ant]
[INFO] ------------------------------------------------------------------------
...
Downloading: http://repo1.maven.org/maven2/xalan/xalan/2.7.0/xalan-2.7.0.pom
491b downloaded
...
Downloading: http://repo1.maven.org/maven2/xalan/xalan/2.7.0/xalan-2.7.0.jar
2666K downloaded
[INFO] [ant:ant]
[INFO] Wrote Ant project for ABC to D:\Project_ABC
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28 seconds
[INFO] Finished at: Thu Feb 12 16:16:15 SGT 2009
[INFO] Final Memory: 9M/16M
[INFO] ------------------------------------------------------------------------

Done

Maven just created 3 Ant files – build.xml, maven-build.xml and maven-build.properties.

Note
For more detail, please visit to this Maven’s Ant plugin official page
Tags :

About the Author

mkyong
Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

  • Pingback: pay per day loan plans()

  • Pingback: pay per day loans plan()

  • Pingback: stop parking()

  • Pingback: laan penge online nu()

  • Pingback: water ionizer()

  • Pingback: parking()

  • Pingback: laan penge nu uden renter()

  • Pingback: fue()

  • Pingback: enagic kangen water()

  • Pingback: alkaline water benefits()

  • Pingback: water purification systems()

  • Pingback: water ionizer()

  • Pingback: watch movies online()

  • Pingback: watch tv show episodes()

  • Pingback: watch movies online()

  • Pingback: weight loss()

  • Pingback: Blue Coaster33()

  • http://www.queerandpride.de/ Uncoverhowitispossibletofireup

    I will immediately grasp your rss as I can’t to find your email subscription link or e-newsletter service. Do you have any? Please let me recognise in order that I may subscribe. Thanks.

  • Abhijit Deb

    Dear Mr MYKong

    I saw your article converting Maven to Ant. I need the reverse of this. We have a project which uses Ant for build. I need the pom.xml for the same.

    Can you please let me know how do I achieve this?

    Any help is greatly appreciated.

    Thanks
    Abhijit

    • Lucian Ochian

      As far as I know that is impossible. Maven is a build system, Ant is a build tool. You can do the system->tool conversion, but not the other way around. Plus that Maven is more restrictive than Ant. If you want to convert an Ant script to Maven you’ll have to move the source code(java and resources) in certain folders, understand your dependencies and their scope, replace some Ant tasks with some Maven plugins, etc…

    • http://www.mkyong.com mkyong

      See answer from @Lucian Ochian.

      Some draft ideas, convert the project into Maven structure, replace Ant functions with Maven plugins. Find the dependencies detail from http://search.maven.org/.

  • sunes

    What could I do to change the local repository where ant makes maven download the artifacts??? I have the archives fetch.xml and get-m2.xml, and I have tried there, but it didn’t work because i didn’t do it properly, i suppose. Changing settings.xml in this case doesn’t work in any way.
    Any idea??
    Thank you!

    • mkyong

      hi, did you means Ant’s “Download dependencies target ” ? For example,

      < get src="http://download.java.net/maven/2/junit/junit/4.5/junit-4.5.jar"
      dest="${maven.repo.local}/junit/junit/4.5/junit-4.5.jar"
      usetimestamp="false"
      ignoreerrors="true" / >

      Just change the “dest” to point to your destination folder.