DiffJ is a commandline application that compares Java files based on content, not whitespace, comments, or reordering of types, methods, or fields. Its output is based on the Unix program diff, and it also has a "brief" output format for a concise summary of what changed. It can work on directories recursively, looking for matching filenames, like "diff -r dir0 dir1". It is primarily for developers refactoring and reformatting Java code, for which most difference tools tend to produce misleading results regarding the type and extent of changes.
This version adds colorization of differences. The -u parameter is now handled for compatibility with svn.