Ant does a compare of filenames not package names. It doesn't look into the source file to determine if it should be compiled. It only looks at the source file name. So if the source file name is MyCode.java, it has no idea that MyCode.java is part of MyPackage.MyJava and can't find the compiled class file.
Originally posted by Greg Ostravich:
That said - why does it matter if my source tree looked like the package structure for file dependencies?