Christopher Johnson created GERONIMO-6601:
---------------------------------------------

             Summary: 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


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)

Reply via email to