[ http://jira.codehaus.org/browse/MDEP-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_107826 ]
Alan Mehio commented on MDEP-112: --------------------------------- Brian, Idealy maven dependency should not copy the servlet-api since the container provide it maven is copying the one which struts depends on please see the pom below The one which get copied into my web application lib directory is a subset of the one which is supplied by the container Manen dependency plugin should look at the jar content and prevent duplication of the same classes <?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>mygroupId</groupId> <artifactId>mygroupId-parent</artifactId> <version>1</version> </parent> <groupId>mygroupId</groupId> <artifactId>groupmarketrisk</artifactId> <version>1.0.0</version> <name>mygroup</name> <url>http://maven.apache.org</url> <packaging>pom</packaging> <modules> <module>common</module> <module>model</module> <module>dao</module> <module>service</module> <module>web</module> </modules> <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.0.4</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.6</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>1.2</version> </dependency> <!-- this one does not get copied which is fine this contains more implementation classes for the container --> <dependency> <groupId>tomcat</groupId> <artifactId>servlet-api</artifactId> <version>5.0.18</version> <scope>provided</scope> </dependency> <!-- this one get copied to the webaplication lib directory since struts-1.2.4.jar depends on it this is a subset of the above with the same manifest file i.e. same spec version --> <!-- <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.2</version> </dependency> --> <dependency> <groupId>struts</groupId> <artifactId>struts</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>dbunit</groupId> <artifactId>dbunit</artifactId> <version>2.1</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> </project> Regards, Alan Mehio London, UK > Container dependency jar file get copied during the deployment or during hte > installation1 > ------------------------------------------------------------------------------------------ > > Key: MDEP-112 > URL: http://jira.codehaus.org/browse/MDEP-112 > Project: Maven 2.x Dependency Plugin > Issue Type: Bug > Components: copy-dependencies > Affects Versions: 2.0 > Environment: WindowXP(CYGWIN) JDK 1.5.0_07 > Reporter: Alan Mehio > Assignee: Brian Fox > Priority: Trivial > > The dependency get copied even it is provided by the container > This happens in the following scenario : > module A has dependecies as below > <dependencies> > <dependency> > <groupId>axis</groupId> > <artifactId>axis-schema</artifactId> > <version>1.3</version> > </dependency> > <dependency> > <groupId>axis</groupId> > <artifactId>axis-wsdl4j</artifactId> > <version>1.3</version> > </dependency> > <dependency> > <groupId>xml-apis</groupId> > <artifactId>xml-apis</artifactId> > <version>1.0.b2</version> > </dependency> > <dependency> > <groupId>javax.xml</groupId> > <artifactId>jaxrpc-api</artifactId> > <version>1.1</version> > </dependency> > <dependency> > <groupId>commons-discovery</groupId> > <artifactId>commons-discovery</artifactId> > <version>0.2</version> > </dependency> > <dependency> > <groupId>axis</groupId> > <artifactId>axis-saaj</artifactId> > <version>1.2</version> > </dependency> > </dependencies> > you have module B which has the below dependencies > <dependencies> > <dependency> > <groupId>mygroup</groupId> > <artifactId>common</artifactId> > <version>1.0.0</version> > </dependency> > <dependency> > <groupId>mygroup</groupId> > <artifactId>service</artifactId> > <version>1.0.0</version> > </dependency> > <dependency> > <groupId>mygroup</groupId> > <artifactId>model</artifactId> > <version>1.0.0</version> > </dependency> > <dependency> > <groupId>tomcat</groupId> > <artifactId>servlet-api</artifactId> > <version>5.0.18</version> > <scope>provided</scope> > </dependency> > </dependencies> > The one which get copied is servlet-api-2.3.jar > On the otherhand, the other project is using the same dependency ( > servlet-api ) but the only difference is the axis artifact and its > dependencies are not included > Regards, > Alan Mehio > London, UK -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira