maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schulte (JIRA)" <>
Subject [jira] [Resolved] (MNG-5935) Optional true getting lost in managed dependencies when transitive
Date Tue, 31 Jan 2017 23:43:51 GMT


Christian Schulte resolved MNG-5935.
    Resolution: Fixed

> Optional true getting lost in managed dependencies when transitive
> ------------------------------------------------------------------
>                 Key: MNG-5935
>                 URL:
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.3.9
>         Environment: Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
> Maven home: C:\Temp\apache-maven-3.3.9
> Java version: 1.8.0_66, vendor: Oracle Corporation
> Java home: C:\Prog\Java\v8_66\jre
> Default locale: nl_NL, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
>            Reporter: Marcel Schutte
>            Assignee: Christian Schulte
>             Fix For: 3.6.0-candidate
>         Attachments: buildoutput.txt,
> Run 'mvn package' on the project in the attached Note that the dependency
Jar2 gets packaged in WEB-INF/lib and the other dependencies (Jar, Jar1 and Jar3) do not.
> I think the inclusion of Jar2 is incorrect, because project 'Web' declares its dependency
on 'Jar' to be optional and Jar2 being a transitive dependency of Jar should inherit this.
> If you look at the other Jarx dependencies, they have different combinations of ways
to become optional and have their versions managed. Only the case when optionality is inherited
and the dependency management for the version is in another pom, yields incorrect results.
> Please note that I believe the maven-war-plugin is not the cause of this behavior. I
have built and used a modified version of maven-war-plugin which as the first thing in its
WarMojo.execute() lists the result of getProject().getArtifacts() including the value of each
Artifact's isOptional() method. Already at this point only Jar2 has optional false.
> I am using maven-war-plugin in this bug report for the following reasons:
> * maven-war-plugin uses the optional flag of dependencies in deciding whether to package
it or not, making this behavior visible
> * I don't know of another way to visualize the value of the optional flag in core maven
(running with -X outputs the dependency tree in a section with header 'Dependency collection
stats', but this only shows the scope value)
> * maven-dependency-plugin:resolve also only shows scope and not optionality
> * obviously, maven-war-plugin is exactly what I intend to use and where I found the bug

This message was sent by Atlassian JIRA

View raw message