Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-6601

geronimo spec jar files produce Invalid module name in JPMS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • specs
    • Security Level: public (Regular issues)
    • None

    Description

      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:

       

      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
      

      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 

      Automatic-Module-Name
      

      to the pom.xml:

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            christopher-johnson Christopher Johnson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: