Here's a good article on running Ant within another Java program.
http://www.ibm.com/developerworks/websphere/library/techarticles/0502_gawor/0502_gawor.html
You might want to do this if wrapping your ant build in a process that needs additional auditing and security, or to create a friendly user interface for running builds, for example.