J2AVM translates JVM bytecode to AVM2 bytecode, with the intention of making Java (and maybe other JVM languages) a first class development language for Flash and AIR.
The initial goal is to allow Java code to be written against a Java representation of the built-in Flash player classes. Longer term goals may include support for a number of Java libraries, to enable arbitrary code to be translated.
Progress updates are informally posted on this blog: http://epistemologicalengineering.blogspot.com/