I hear you and don't disagree with the sentiment. I'm not entirely sure how to reduce the management overhead and duplication in this particular case.
Wayne On 4/19/07, jp4 <[EMAIL PROTECTED]> wrote:
Wayne, Thanks for the reply. What you have described makes sense. I guess I am just looking for a way to avoid including the same test and provided scoped dependencies in multiple projects that follow essentially the same design patterns. Thanks, jp4 Wayne Fay wrote: > > 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] > > > -- View this message in context: http://www.nabble.com/POM-for-common-libraries-tf3607983s177.html#a10082195 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]