Return-Path: X-Original-To: apmail-maven-issues-archive@minotaur.apache.org Delivered-To: apmail-maven-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CCD3C7ED8 for ; Mon, 1 Aug 2011 10:15:36 +0000 (UTC) Received: (qmail 91289 invoked by uid 500); 1 Aug 2011 10:15:30 -0000 Delivered-To: apmail-maven-issues-archive@maven.apache.org Received: (qmail 90830 invoked by uid 500); 1 Aug 2011 10:15:13 -0000 Mailing-List: contact issues-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list issues@maven.apache.org Received: (qmail 90814 invoked by uid 99); 1 Aug 2011 10:15:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 10:15:11 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [63.246.2.115] (HELO codehaus01.managed.contegix.com) (63.246.2.115) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 10:15:05 +0000 Received: from codehaus01.managed.contegix.com (localhost.localdomain [127.0.0.1]) by codehaus01.managed.contegix.com (Postfix) with ESMTP id A0245458024 for ; Mon, 1 Aug 2011 05:14:42 -0500 (CDT) Date: Mon, 1 Aug 2011 05:14:42 -0500 (CDT) From: "Robert Watkins (JIRA)" To: issues@maven.apache.org Message-ID: <2010676.28071.1312193682611.JavaMail.haus-jira@codehaus01.managed.contegix.com> In-Reply-To: <21515523.27957.1312175142497.JavaMail.haus-jira@codehaus01.managed.contegix.com> Subject: [jira] Commented: (MNG-5145) Optional compile dependencies being resolved by test dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 22cf62d5d84cf5bea94eb3b65e0ebd09 X-Virus-Checked: Checked by ClamAV on apache.org [ https://jira.codehaus.org/browse/MNG-5145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=274738#comment-274738 ] Robert Watkins commented on MNG-5145: ------------------------------------- As shown in the dependency tree, this is already using commongs-logging:1.1.1 AFAIK, commons-logging:1.1.1 is doing the right thing by declaring the dependency on log4j optional. Certainly the attached pom worked correctly under Maven 2.2. > Optional compile dependencies being resolved by test dependencies > ----------------------------------------------------------------- > > Key: MNG-5145 > URL: https://jira.codehaus.org/browse/MNG-5145 > Project: Maven 2 & 3 > Issue Type: Bug > Components: Dependencies > Affects Versions: 3.0.3 > Reporter: Robert Watkins > Priority: Critical > Attachments: pom.xml > > > Optional compile-time dependencies are being resolved (in WAR projects, at least) into the packaged artifact. > There has been a regression since Maven 2.2.1 in regards to resolving optional dependencies. > In the attached pom (which builds a WAR), there are two dependencies: > * org.springframework:spring-core:2.5.6 - at compile scope > * org.dbunit:dbunit:2.3.0 - at test scope. > The dependency tree looks like this: > net.twasink:webapp:war:1.0 > +- org.springframework:spring-core:jar:2.5.6:compile > | \- commons-logging:commons-logging:jar:1.1.1:compile > \- org.dbunit:dbunit:jar:2.3.0:test > +- junit:junit:jar:3.8.2:test > +- junit-addons:junit-addons:jar:1.4:test > | +- xerces:xercesImpl:jar:2.6.2:test > | \- xerces:xmlParserAPIs:jar:2.6.2:test > +- org.apache.poi:poi:jar:3.1-FINAL:test > | \- log4j:log4j:jar:1.2.13:test > +- commons-collections:commons-collections:jar:3.1:test > +- commons-lang:commons-lang:jar:2.1:test > +- org.slf4j:slf4j-api:jar:1.4.3:test > \- org.slf4j:slf4j-nop:jar:1.4.3:test > Note that log4j:log4j:1.2.13 is a test dependency. However, when you do 'mvn package', and inspect the resulting WAR file, it includes log4j! > The problem appears to be that commons-logging (a compile dependency brought in by spring-core) declares log4j as an _optional_ compile dependency. This is clashing with the test dependency brought in transitively by dbunit. > To make it worse, this is still brought in if you add an explicit exclusion of log4j to spring-core. > Maven 2.2.1 did not bring in the log4j JAR - this is a regression under Maven 3.0.3 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira