I was actually able to meet with a relatively new OJB user today and give him an hour and a half tutorial. It was really nice. In that time we got it working, doing basic CRUD, and got a bunch of decent learning tests in for him. It was very fun =) He was still a student, working on a summer internship project, and his level of knowledge (not skill!) reminded me of a lot of things.
Ant is not easy when you are new to it. "We" tend to think of ant like driving nails -- you learn it, and never think about it again. That learning it part is important. Ditto JUnit. Ditto the quirks between the two =)
The audience for most apps is not a super-experienced developer, but is a somewhat experienced developer. Stepping through things this afternoon with this guy (remaning nameless as I don't know if he wants to be named =) was fantastic because it is really hard to see things you know well from a newcomer's perspective. You get close to the problem, and close to the tools, and realize the edge cases you know (flush cache in unit tests to make sure you hit db when you are testing mappings) and don't think about are not explicit or obvious to other people.
=)