[jira] [Commented] (GERONIMO-6601) geronimo spec jar files produce Invalid module name in JPMS

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (GERONIMO-6601) geronimo spec jar files produce Invalid module name in JPMS

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/GERONIMO-6601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16400929#comment-16400929 ]

Christopher Johnson commented on GERONIMO-6601:
-----------------------------------------------

I believe that appending the version is not necessary in the automatic module name, as any given JPMS implementation could not require different versions of a spec without creating split packages.  So, the names would just look like this:
{code:java}
org.apache.geronimo.specs.activation
org.apache.geronimo.specs.annotation
org.apache.geronimo.specs.atinject
org.apache.geronimo.specs.availability
...
{code}
 Please advise if you agree, and I will submit a PR.

> 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)