-1

I created my own maven project (project 1) where I have added dependencies like junit, spring, etc. and deployed the jar (name it as jar1 ) in my nexus maven repository.

Now when I add jar1 as dependency to my new project 2, only jar1 is getting downloaded from the maven repository and the transitive dependencies such as junit ,spring are not downloaded.

pom - project1
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Project1</groupId>
<artifactId>Project1</artifactId>
<version>Dev.0.0.1-SNAPSHOT</version>
 <dependencies>
     <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>
</project>


pom - project2
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Project2</groupId>
<artifactId>Project2</artifactId>
<version>0.0.1-SNAPSHOT</version>
 <dependencies>
     <dependency>
        <groupId>Project1</groupId>
        <artifactId>Project1</artifactId>
        <version>Dev.0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
</project>

As per above pom configuration, project2 should automatically resolve junit jar right?. But project2 only resolves Project1.jar and not the junit jar. Please let know what am I missing.

Dhan Raj
  • 29
  • 7

1 Answers1

1

Not all scopes are transitive, especially test and provided dependencies are not.

Look at the table in https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

J Fabian Meier
  • 33,516
  • 10
  • 64
  • 142