Java Maven传递依赖问题

Java Maven传递依赖问题,java,maven-2,jakarta-ee,Java,Maven 2,Jakarta Ee,我有以下设置: Master:具有模块A和B A:声明依赖于B,Master作为其父级 B:Master作为其父级 所以基本上Master有一个父pom,它构建a和B,其中a依赖于B 我的问题是我想把所有的第三方依赖项放在B中(比如JUnit等)。但是当我这样做时,A确实可以访问B声明的依赖项。为什么会这样?我认为maven处理可传递依赖项 以下是我的POM片段,以防万一: 大师: <modules> <module>../A</modu

我有以下设置:

  • Master
    :具有模块
    A
    B
  • A
    :声明依赖于
    B
    Master
    作为其父级
  • B
    Master
    作为其父级
所以基本上
Master
有一个父pom,它构建
a
B
,其中
a
依赖于
B

我的问题是我想把所有的第三方依赖项放在
B
中(比如JUnit等)。但是当我这样做时,
A
确实可以访问
B
声明的依赖项。为什么会这样?我认为maven处理可传递依赖项

以下是我的POM片段,以防万一:

大师:

<modules>
            <module>../A</module>
            <module>../B</module>
</modules>

../A
../B
A:


com.project
主人
1.
../Master/pom.xml
...
...
B
...
B:


com.project
主人
1.
../Master/pom.xml
...
...
朱尼特
...

为什么
A
不能访问JUnit

如果项目B中的JUnit依赖项具有范围“test”,那么我认为它在项目a中不会作为可传递依赖项可见。请参见中的表

<parent>
  <groupId>com.project</groupId>
  <artifactId>Master</artifactId>
  <version>1</version>
  <relativePath>../Master/pom.xml</relativePath>
</parent>
...
<dependency>
 ...
        <artifactId>B</artifactId>
 ...
</dependency>
<parent>
  <groupId>com.project</groupId>
  <artifactId>Master</artifactId>
  <version>1</version>
  <relativePath>../Master/pom.xml</relativePath>
</parent>
...
<dependency>
 ...
        <artifactId>JUnit</artifactId>
 ...
</dependency>