Obfuscating a webapp .war file with yGuard and Ant
One way to protect Java software from casual reverse engineering is obfuscation. Essentially, an obfuscator renames classes, variables, and packages with random/meaningless names. The application still functions correctly; the decompiled code becomes difficult to read.
There are quite a few obfuscators for Java — at least a dozen when I looked — most of which are easily used from an Ant script.
For my use I selected one with a ready-to-use Ant task: yGuard. Unfortunately, yGuard operates on .jar files only, not individual .class files or webapp .war files. Thus, I have written my own Ant script which uses yGuard and built-in Ant tasks to obfuscate .war files. Read more
Automate Advanced Installer with Ant
Note: this post was updated in light of discussion on the Advanced Installer forum.
At work, we use Advanced Installer to create easy-to-use Windows installers for internal and external customers. I wrote a short Ant script for building the installer to save time and minimize mistakes.
If you use Advanced Installer with your Java projects, be sure to read my post on using the Advanced Installer licensing feature within a Java application.
Here is a partial Ant script for executing Advanced Installer builds. It’s not fancy, but it gets the job done. Read more
Ant on Ubuntu without GCJ
You may be surprised to learn Ant requires GCJ when installed through Synaptic or apt on Ubuntu. GCJ is GNU’s Java compiler. When you’re using Sun’s JDK and compiler, GCJ can get in the way — at worst it creates conflicts; at best it causes confusion.
Here’s how I installed Ant on Ubuntu without GCJ. Read more
