What you're describing actually makes the most sense to me vs what you're expecting...
Test scope means: when I am testing this particular artifact, I need to include these dependencies in the classpath. But you're not testing this artifact -- you're simply including it as a dependency of another artifact -- so why in the world would those test scoped artifacts come in? If you need these dependencies to test this other artifact/project, then it must attach them itself. (aka, test scope is not transitive) Provide scope means: I need these artifacts to properly build and use/run the code in this project, but I know these artifacts will be provided by the environment I'll be executing in. When you bring this dependency into another project, suddenly that new project is the "environment" and so it must ensure that dependency is available in the classpath (through provide or compile scope, as appropriate). (aka, provide scope is not transitive) I think that what you're seeing is exactly how it should work, and your expectations are simply invalid. But I'm happy to be proven wrong or continue this discussion. Wayne On 4/19/07, jp4 <[EMAIL PROTECTED]> wrote:
I have a project (common-data-access) of type pom that is used to group a set of common libraries for reuse. In this case, I group all libraries that I need for a data access project. In each data access project in include common-data-access as <type>pom</type>. I have encountered two issues and I was hoping someone could help me. First, it appears as though artifacts that are defined as <scope>provide</scope> in common-data-access are not recognized by projects that include common-data-access. The oracle jar file is one example. In addition, it appears as though dependencies with a test scope are also not recognized by projects that include common-data-access. Below is my pom.xml, am I doing something wrong here? <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>com.foo</groupId> <artifactId>common-maven-build</artifactId> <version>8.1-SNAPSHOT</version> </parent> <groupId>com.foo</groupId> <artifactId>common-data-access</artifactId> <version>8.1-SNAPSHOT</version> <name>${artifactId}</name> <packaging>pom</packaging> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>oracle_jdbc</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.foo</groupId> <artifactId>common-spring-util</artifactId> </dependency> <dependency> <groupId>com.foo</groupId> <artifactId>common-configuration</artifactId> </dependency> <dependency> <groupId>com.foo</groupId> <artifactId>common-abstract-unit-tests</artifactId> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.foo</groupId> <artifactId>common-configuration</artifactId> <scope>test</scope> <type>test-jar</type> </dependency> </dependencies> </project> -- View this message in context: http://www.nabble.com/POM-for-common-libraries-tf3607983s177.html#a10080824 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]