AD has an LDAP interface to it, so that is probably the easiest way to do it. If you haven't used LDAP through Java before, this is probably a good place to start.

The alternative is to write the code that accesses AD in C/C++ and then write a JNI wrapper around that code. This is definitely the less easy option but will give you greater flexibility when accessing AD.