Jawa is a human-friendly library for assembling, disassembling, and exploring JVM class files. It's highly suitable for automation tasks.
NOTE: The assembler does not currently implement Stack Maps, an artificially complex requirement for ClassFiles generated for Java 7 and above to properly verify (unless you turn it off with -XX:-UseSplitVerifier). However, assembled files targeting Java 6 will still work with 7 and above.
API documentation & examples are available at http://jawa.tkte.ch
Jawa is available under the MIT licence. See LICENCE.