0

We're using Maven2 in a multiproject environment. Actually I'm dealing with the dependency-scope. In the target solution I want to submit all dependeniecs to the vm by setting the classpath.

Pom_Project_A_.xml

<dependencies>
    <dependency>log4j</dependency>
    <dependency>commons-io</dependency>
    <dependency>...</dependency>
</dependencies>

Pom_Project_B.xml

<dependencies>
    <dependency>Project_A</dependency>
</dependencies>

When i want to compile Project "B" maven cant resolve log4j and the other "subdependencies" already defined in Project "A".

Is it possible to change this behavior? Thanks a lot

Mirko
  • 1,512
  • 1
  • 12
  • 19

1 Answers1

0

Scope "compile" is what i need. I was confused about the scopes compile, runtime, test etc. with the maven goals package, assembly etc.

Pom for Project A:

<parent>
    <groupId>net.company</groupId>
    <artifactId>superpom</artifactId>
    <version>1.0.2</version>
</parent>

<groupId>net.company.projectA</groupId>
<artifactId>projectA</artifactId>
<version>1.1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

Pom for Project B:

<parent>
    <groupId>net.company</groupId>
    <artifactId>superpom</artifactId>
    <version>1.0.2</version>
</parent>

<groupId>net.company.projectB</groupId>
<artifactId>projectB</artifactId>
<version>1.1.2-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>net.company.projectA</groupId>
        <artifactId>projectA</artifactId>
        <version>1.1.0-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
Mirko
  • 1,512
  • 1
  • 12
  • 19