Brian D Chambers created SPARK-23543: ----------------------------------------
Summary: Automatic Module creation fails in Java 9 Key: SPARK-23543 URL: https://issues.apache.org/jira/browse/SPARK-23543 Project: Spark Issue Type: Bug Components: Build Affects Versions: 2.3.0 Environment: maven + jdk9 + project based on jdk9 module system Reporter: Brian D Chambers When adding Spark to a Java 9 project that is utilizing the new jdk9 module system, Spark components cannot be used because the automatic module names that are generated by the jdk9 are based on the JAR. When the JAR has chars not recognized by jdk9 as valid for identifiers (in this case, digits) at the start of a part of the token, the jdk9 fails to autogenerate a module name. This problem can also be validated/tested on the command line against any Spark jar, e.g. {panel:title=jar --file=spark-graphx_2.11-2.3.0.jar --describe-module} Unable to derive module descriptor for: spark-graphx_2.11-2.3.0.jar spark.graphx.2.11: Invalid module name: '2' is not a Java identifier {panel} Spark does not have to support jdk9 modules to fix this issue. It just needs to add a line of metadata to its manifest so the jdk can generate a valid automatic name. the following would be sufficient to fix the issue in spark.graphx {code:java} <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifestEntries> <Automatic-Module-Name>spark.graphx</Automatic-Module-Name> </manifestEntries> </archive> </configuration> </plugin> {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org