Developers, Developers, Developers! Maksim Sorokin IT Blog


Building Obfuscated Signed Java Web Start Applications with Maven

I have Java Web Start application with several libraries, some of which I want to obfuscate before the release. Unfortunately, I cannot use Webstart Maven Plugin since it works correctly only when all the dependencies, which will be assembled, are already present in the repository. In my case, I want to obfuscate libraries on-the-fly, sign them, put into zip file and deploy to my repository.

Instead, I attach the following chain of plugins to maven build lifecycle:

  1. Download keystore (refer to my older post
  2. Download all dependencies (except ones, which I will obfuscate) with Maven Dependency Plugin
  3. Run ProGuard on needed jars with Maven ProGuard Plugin
  4. Sign all the jars with Maven Jarsigner Plugin
  5. Filter JNLP file with Maven Resources Plugin
  6. Assemble application with Maven Assembly Plugin