Stephen Colebourne created SUREFIRE-1501:
--------------------------------------------

             Summary: Optional dependencies not correctly handled with JPMS 
modules
                 Key: SUREFIRE-1501
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1501
             Project: Maven Surefire
          Issue Type: Bug
          Components: Maven Surefire Plugin
    Affects Versions: 2.21.0
         Environment: Windows 10, Maven v3.5.2
            Reporter: Stephen Colebourne
         Attachments: maven-issue1.zip

Attached is a pointlessly simple project for Java 9. The module-info declares 
an _optional_ dependency on Google Guava (an automatic module) using _requires 
static_. This optionality is reflected in the pom.xml, where the dependency is 
marked as optional.

It fails in surefire with JAVA_HOME=jdk9. The reason seems to be that although 
the Guava jar file is added to the modulepath, it is not referenced using 
--add-modules. As such, the module graph builder never pulls it in, despite it 
being on the modulepath. (Optional dependencies need to be directly added using 
--add-modules if in Maven's dependency graph)

Adding the --add-modules to the `argLine` parameter solves the problem, but 
this is a bug because the surefire plugin should handle the situation without 
manually adding it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to