mislim da sam već pominjao yguard ovdje.
http://www.yworks.com/en/products_yguard_about.htm
Meni je on sasvim ok. Koristiš ga kao Ant task i možeš da definišeš kako će da vrši obfuskaciju.
Nije mi jasno zašto bi obfuskovao kod? Klijentu daješ jar file (obično je tako), a ono što hoćeš jeste da on nije u mogućnosti da izvuče
source iz toga i da sam vrši izmjene na kodu. Zato središ malo bytecode i završio si posao.
Ali opet ko zna kakve ti razloge imaš
pozdrav