<p>I'm looking for a good Java obfuscator.</p>

<p>I've done initial research into the following Java obfuscators: proguard, yguard, retroguard, dasho, allatori, jshrink, smokescreen, jobfuscate, marvin, jbco, jode, javaguard, jarg, joga, cafebabe, donquixote, mwobfu, bbmug, zelix klassmaster, sandmark, jcloak, thicket, blufuscator, and java code protector.</p>

<p>I tried proguard and it has a really nice GUI, seems really stable, and seems to be the most popular, but it seemed to not like some enumeration on a referenced jar file (not within the code I was trying to obfuscate) which was weird.  Yguard seems to require some interaction with ant, which I didn't know too much about.</p>

<p>What is a good java obfuscator?  It doesn't need to be free, it just needs to work well and be easy to use.</p>

What is the issue with ProGuard ? (which is recommended both by
this question
and
this one
).
There is a section of
troubleshooting
about enumerator, but they seem to be taken into account
just fine
.
However, Obfuscation breaks some attempts at reflection, even though modern obfuscators can detect and to some extend adjust usages of reflection in the code they're obfuscating.