Also, you might consider going to this NIST page http://csrc.nist.gov/CryptoToolkit/aes/rijndael/. You can find test values there that you should encrypt with both implementations. If one of them matches but the other doesn't, you know which one is correct. Usually, the actual problem is something simple like byte ordering. Again, by using the test values this should become apparent.
Yes, getting the test vectors from NIST is the right thing to do. For any serious cryptography, there are standard test vectors that you really need to make sure your code can replicate.
Many crypto algoithms are not byte oriented, but are block of bit oriented, so they are used to working with, and thinking of 32 or 64 or 128 bit blocks. Bit order is important, and Java's String and Character classes typically have 16 bit characters.
You have to make sure your big-endian and little endian stuff is perfect.
Many of the standard crypto really are defined for unsigned octets, which are the same as unsigned byte in C, but have no real equivalent in Java.
The trick to crypto code is the test vectors. A properly working crypto routine will take nice text/strings and make it look like garbage. A badly implemented one will also take nice text/strings and make it look like garbage. With real crypto, you can't look at the garbage and tell if it is right or not.