[ https://issues.apache.org/jira/browse/GERONIMO-6601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404071#comment-16404071 ]
ASF GitHub Bot commented on GERONIMO-6601: ------------------------------------------ GitHub user christopher-johnson opened a pull request: https://github.com/apache/geronimo-specs/pull/8 [GERONIMO-6601] adds Automatic-Module-Name the duplication of the maven-jar-plugin configuration in every module pom.xml seems required with the current project hierarchy. The value of ```xml <Automatic-Module-Name> ``` is set in a property `<automatic.module.name>` in the event that this should change. The property values are consistent with the top-level exported package name with a few exceptions. Several specs export more than one primary package, for example, `geronimo-jcdi_1.0_spec`, that exports `javax.decorator` and `javax.enterprise`. In that case, I arbitrarily chose `javax.decorator`. You can merge this pull request into a Git repository by running: $ git pull https://github.com/christopher-johnson/geronimo-specs automatic-modules Alternatively you can review and apply these changes as the patch at: https://github.com/apache/geronimo-specs/pull/8.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #8 ---- commit 9258a9fb73ffce045ee104523d58c4ddf7b83599 Author: Christopher Hanna Johnson <chjohnson39@...> Date: 2018-03-18T16:44:05Z [GERONIMO-6601] adds Automatic-Module-Name ---- > geronimo spec jar files produce Invalid module name in JPMS > ------------------------------------------------------------ > > Key: GERONIMO-6601 > URL: https://issues.apache.org/jira/browse/GERONIMO-6601 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: specs > Reporter: Christopher Johnson > Priority: Major > > libraries that depend on geronimo specs cannot be compiled as JPMS modules > because of the naming convention used for the jars and the absence of an > {{Automatic-Module-Name}} directive in MANIFEST.MF. > Reference: > [https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleFinder.html#of-java.nio.file.Path...-] > for how JPMS determines module names. > For example, geronimo-annotation_1.2_spec-1.0-alpha-1.jar causes this > exception: > > {code:java} > Error occurred during initialization of boot layer > java.lang.module.FindException: Unable to derive module descriptor for > /home/christopher/.gradle/caches/modules-2/files-2.1/org.apache.geronimo.specs/geronimo-annotation_1.2_spec/1.0-alpha-1/804747c40f1145ae9cc13cb9e927fca82e6e3c1b/geronimo-annotation_1.2_spec-1.0-alpha-1.jar > Caused by: java.lang.IllegalArgumentException: geronimo.annotation.1.2.spec: > Invalid module name: '1' is not a Java identifier > {code} > This problem occurs with all geronimo specs that include a version in the > artifact ID. For example, activemq-client depends on > geronimo-j2ee-management_1.1_spec-1.0.1.jar so it cannot be compiled as a > JPMS module. > > Solution could be to add > {code:java} > Automatic-Module-Name > {code} > to the pom.xml: > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)