我创建了自己的maven项目(项目1),我在其中添加了诸如junit,spring等依赖项,并在我的nexus maven存储库中部署了jar(将其命名为jar1)。
现在,当我将jar1作为依赖项添加到我的新项目2时,只有jar1从maven资源库下载,并且不会下载传递依赖项,例如junit,spring。
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>
按照上面的pom配置,project2应该自动解析junit jar吗? 但是project2只解析了Project1.jar而不是junit jar。请告诉我缺少什么。
答案 0 :(得分:1)
并非所有范围都是可传递的,尤其是test
和provided
依赖关系不是。
查看https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
中的表格