JavaGuard is based on the well-known RetroGuard bytecode obfuscator which is also under the LGPL but doesn't seem to be continued developing anymore.
RetroGuard allows the user to specify a script file that influences how RetroGuard obfuscates a given JAR. Unfortunately RetroGuard isn't as powerful as I originally expected:
1) It doesn't process serializable classes correctly.
2) The syntax in the script file is quite simple and not very much powerful; regular expressions for example are not possible.
3) Resource files are completely ignored.
4) It is not possible to tell RetroGuard to completely exclude some classes from being obfuscated.
These are the main reasons why I began working on the source code; to enhance it and to implement the above mentioned features. To avoid naming conflicts I gave the project a new name, JavaGuard.
Thorsten