title: Error: automatic module cannot be used with jlink: - Maven with JavaFX
body: <p>I have selected Apache Commons IO, JSerialComm and Ini4J libraries via Maven repository.</p>
  
  <p>But when I try to create an image via <code>mvn javafx:jlink</code> I get this errors:</p>
  
  <pre><code>[INFO] --- javafx-maven-plugin:0.0.2:jlink (default-cli) @ JUSBPlotter ---
  [WARNING] Required filename-based automodules detected. Please don't publish this project to a public artifact repository!
  Error: automatic module cannot be used with jlink: ini4j from file:///root/.m2/repository/org/ini4j/ini4j/0.5.4/ini4j-0.5.4.jar
  [ERROR] Command execution failed.
  org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
      at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
      at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
      at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:447)
  </code></pre>
  
  <p>I seems it have something to do with this:</p>
  
  <pre><code>Error: automatic module cannot be used with jlink:
  </code></pre>
  
  <p>My module file looks like this:</p>
  
  <pre><code>module org.openjfx.JUSBPlotter {
      requires javafx.controls;
      requires javafx.fxml;
      requires com.fazecast.jSerialComm;
      requires ini4j;
      requires org.apache.commons.io;
  
      opens org.openjfx.JUSBPlotter to javafx.fxml;
      exports org.openjfx.JUSBPlotter;
  }
  </code></pre>
  
  <p>And my pom.xml looks like this:</p>
  
  <pre><code>&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;org.openjfx&lt;/groupId&gt;
      &lt;artifactId&gt;JUSBPlotter&lt;/artifactId&gt;
      &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
      &lt;properties&gt;
          &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
          &lt;maven.compiler.source&gt;11&lt;/maven.compiler.source&gt;
          &lt;maven.compiler.target&gt;11&lt;/maven.compiler.target&gt;
      &lt;/properties&gt;
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.openjfx&lt;/groupId&gt;
              &lt;artifactId&gt;javafx-controls&lt;/artifactId&gt;
              &lt;version&gt;11.0.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.openjfx&lt;/groupId&gt;
              &lt;artifactId&gt;javafx-fxml&lt;/artifactId&gt;
              &lt;version&gt;11.0.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;commons-io&lt;/groupId&gt;
              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
              &lt;version&gt;2.6&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.fazecast&lt;/groupId&gt;
              &lt;artifactId&gt;jSerialComm&lt;/artifactId&gt;
              &lt;version&gt;2.5.1&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ini4j&lt;/groupId&gt;
              &lt;artifactId&gt;ini4j&lt;/artifactId&gt;
              &lt;version&gt;0.5.4&lt;/version&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;version&gt;3.8.0&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;release&gt;11&lt;/release&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.openjfx&lt;/groupId&gt;
                  &lt;artifactId&gt;javafx-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;0.0.2&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;stripDebug&gt;true&lt;/stripDebug&gt;
                      &lt;compress&gt;2&lt;/compress&gt;
                      &lt;noHeaderFiles&gt;true&lt;/noHeaderFiles&gt;
                      &lt;noManPages&gt;true&lt;/noManPages&gt;
                      &lt;launcher&gt;JUSBPlotter&lt;/launcher&gt;
                      &lt;jlinkImageName&gt;JUSBPlotter&lt;/jlinkImageName&gt;
                      &lt;jlinkZipName&gt;JUSBPlotterZip&lt;/jlinkZipName&gt;
                      &lt;mainClass&gt;org.openjfx.JUSBPlotter.Main&lt;/mainClass&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>So can it be that Apache Commons IO, JSerialComm and Ini4J is to old for Maven and Jlink?</p>
  
  <p>How should I solve this problem? 
  I'm using Eclipse IDE with OpenJDK 11.</p>