title: Unable to derive module descriptor for auto generated module names in Java 9?
body: <p>My project depends on Netty Epoll transport. Here is dependency:</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;io.netty&lt;/groupId&gt;
      &lt;artifactId&gt;netty-transport-native-epoll&lt;/artifactId&gt;
      &lt;version&gt;${netty.version}&lt;/version&gt;
      &lt;classifier&gt;${epoll.os}&lt;/classifier&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>The auto-generated module name for this dependency is:</p>
  
  <pre><code>netty.transport.native.epoll
  </code></pre>
  
  <p>And as the <code>native</code> keyword is reserved in Java 9 I can't add this module as a dependency to my project:</p>
  
  <pre><code>module core {
      requires netty.transport.native.epoll;
  }
  </code></pre>
  
  <p>Due to:</p>
  
  <pre><code>module not found: netty.transport.&lt;error&gt;
  </code></pre>
  
  <p>Additionally the jar tool <code>--describe-module</code> reports the following:</p>
  
  <blockquote>
    <p>Unable to derive module descriptor for:
    netty-transport-native-epoll-4.1.17.Final-SNAPSHOT-linux-x86‌_64.jar
    netty.transport.native.epoll: Invalid module name: 'native' is not a
    Java identifier</p>
  </blockquote>
  
  <p>Are there any workarounds? (except "release correct netty artifact", of course).</p>
  
  <p><strong><em><a href="https://stackoverflow.com/a/46501811/1746118">EDIT</a></em></strong>:</p>
  
  <p>As the quick fix for maintainers - you can add next line to build:</p>
  
  <pre><code>&lt;manifestEntries&gt;
     &lt;Automatic-Module-Name&gt;netty.transport.epoll&lt;/Automatic-Module-Name&gt;
  &lt;/manifestEntries&gt;
  </code></pre>