maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Saksonov (JIRA)" <>
Subject [jira] (MNG-5255) Dependency with 'provided' scope has its transitive dependency included in final artifact
Date Thu, 13 Sep 2012 05:33:21 GMT


Andrey Saksonov commented on MNG-5255:

Same issue with me, also it affects test scope too.
I was very surprised too see servlet-api-2.5 (provided scope) and junit-4.10 (test scope)
in my final war in my Spring/GAE/GWT application generated by Spring Roo.
If your google about GWT problems with maven you find a lot of messages like this:
I think it is the same problem, it is not understandable why test scoped jars (actually it
is some mocks used only for unit testing) pulled into final war artifact.
> Dependency with 'provided' scope has its transitive dependency included in final artifact
> -----------------------------------------------------------------------------------------
>                 Key: MNG-5255
>                 URL:
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.0.4
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 00:44:56-0800)
> Maven home: D:\bin\apache-maven-3.0.4
> Java version: 1.6.0_27, vendor: Sun Microsystems Inc.
> Java home: D:\bin\java\jdk1.6.0_27\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>            Reporter: Bart Skondin
>         Attachments:
> Expected: A dependency declared with a scope of 'provided', along with any transitive
dependencies, should not be included in the final artifact.
> Actual: I have a dependency, jsp-api, declared with 'provided' scope. This dependency
has a dependency of its own, servlet-api. The servlet-api.jar is being included in the web-inf/lib
folder of the resultant war file.
> Background: We recently upgraded from Maven 2.2.1 to Maven 3.0.4. The problem was not
witnessed until after the upgrade.
> Steps to Reproduce: Run mvn install, then have a look at the web-inf/lib folder. Notice
that the servlet-api.jar has been included.
> Additional Info: It seems that I can only reproduce this behavior when declaring a specific
dependency in my pom, spring-ldap. Here is the dependency tree for the given pared-down project
> --- maven-dependency-plugin:2.1:tree (default-cli) @ provided-scope-not-working ---
> com.bug.example:provided-scope-not-working:war:0.0.1-SNAPSHOT
> +- javax.servlet:jsp-api:jar:2.0:provided
> |  \- javax.servlet:servlet-api:jar:2.4:provided
> \- org.springframework.ldap:spring-ldap:jar:1.2.1:compile
>    +- commons-logging:commons-logging:jar:1.0.4:compile
>    +- commons-lang:commons-lang:jar:2.1:compile
>    +- org.springframework:spring-beans:jar:2.0.6:compile
>    |  +- (commons-logging:commons-logging:jar:1.1:compile - omitted for conflict with
>    |  \- (org.springframework:spring-core:jar:2.0.6:compile - omitted for duplicate)
>    \- org.springframework:spring-core:jar:2.0.6:compile
>       \- (commons-logging:commons-logging:jar:1.1:compile - omitted for conflict with

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message