title: FXML in obfuscated JavaFX JAR can't find Controller class
body: <p>I am obfuscating my javafx application jar using <code>Proguard 4.8</code> and obfuscated jar is showing some classes missing into the jar. The missing classes are all the controller classes of FXML. What's wrong with this step in <code>build.xml</code> that Obfuscates the application JAR with additional two utilities jar? </p>
  
  <pre><code>&lt;target name="Ofuscating" depends="CreatingJars" &gt;
      &lt;taskdef resource="proguard/ant/task.properties" classpath="${WorkingFolder}/proguard.jar" /&gt;
      &lt;proguard&gt;
          -dontusemixedcaseclassnames
          -printmapping proguard.map
          -dontshrink
          -dontoptimize
          -dontskipnonpubliclibraryclasses
          -dontskipnonpubliclibraryclassmembers
          &lt;!--flattenpackagehierarchy ''--&gt;
          -libraryjars "${java.home}/lib/rt.jar"
          -libraryjars "${java.home}/lib/javaws.jar"
          -libraryjars "${env.JAVA_HOME}/lib/ant-javafx.jar"
          -libraryjars "${env.JREFX_HOME}/lib/jfxrt.jar"          
          -libraryjars ${WorkingFolder}/libs/BareBonesBrowserLaunch.jar
          :
          :
          -libraryjars ${WorkingFolder}/CustomJars/Lib.jar 
          -injars ${WorkingFolder}/${app.name}.jar
          -injars ${WorkingFolder}/CustomJars/Verifier.jar(!META-INF/MANIFEST.MF)
          -injars ${WorkingFolder}/CustomJars/Utility.jar(!META-INF/MANIFEST.MF)
          -outjars ${WorkingFolder}/Obfuscated.jar
          -ignorewarnings
          -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
          -adaptresourcefilecontents **.fxml,**.properties,META-INF/MANIFEST.MF,images/*.jar,publicCerts.store,production.version
          -keepclassmembernames class * {
              @javafx.fxml.FXML *;
          } 
          -keepclasseswithmembers public class com.javafx.main.Main, com.product.main.EntryFX, net.license.LicenseEntryPoint {
              public *; public static *;
          }
          -keep class * extends org.xml.sax.helpers.DefaultHandler
          -keepclassmembers class * extends org.xml.sax.helpers.DefaultHandler {
              private *;
                  public *;
          }
      &lt;/proguard&gt;
  &lt;/target&gt;
  </code></pre>