title: Package a non-modular JavaFX application
body: <p>I have a Java 8 application, that uses JavaFX and where the main class extends 
  <em>javafx.application.Application</em> . Currently, I deliver it as a fat jar and it runs fine on Oracle Java 8.</p>
  
  <p>Now I want it to be able to run on OpenJDK 11. To add JavaFX, I already added the artifacts from org.openjfx to the classpath and am including them in the fat jar. If I start my jar from the command line, I get</p>
  
  <pre><code>Error: JavaFX runtime components are missing, and are required to run this
  application
  </code></pre>
  
  <p>I found two possible ways around this problem:</p>
  
  <ol>
  <li>The dirty one: Write a special launcher that does not extend Application and circumvent the module check. See <a href="http://mail.openjdk.java.net/pipermail/openjfx-dev/2018-June/021977.html" rel="noreferrer">http://mail.openjdk.java.net/pipermail/openjfx-dev/2018-June/021977.html</a></li>
  <li>The clean one: Add --module-path and --add-modules to my command line. The problem with this solution is, that I want my end users to be able to just launch the application by double clicking it.</li>
  </ol>
  
  <p>While I could go with 1. as a workaround, I wonder what is currently (OpenJDK 11) the intended way to build/deliver executable fat jars of non-modular JavaFX applications. Can anyone help?</p>