鉴于以下结构:
root (pom)
+ child (pom)
+ webapp (war)
Root 在dependencyManagement中有一些依赖项(用于指定child的版本),而child也有dependencyManagement(用于指定webapp的版本)。 Root 在 Jersey 的管理部分中也有依赖关系:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.21</version>
</dependency>
Webapp 实际上在其常规依赖项部分中使用此依赖项:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<scope>provided</scope>
</dependency>
Eclipse根本没有显示编译错误,我使用org.glassfish.jersey.server包中的一些类。当我在Eclipse中查看“Libraries - &gt; Maven Dependencies”时,它会显示正确的库,包括jersey-server-2.21.jar。
但是,当我运行mvn clean install时,我会收到引用org.glassfish.jersey.server包的编译错误。我试过清理我的项目,但问题仍然存在。它可能与dependencyManagement有关,但我不确定如何。提供的依赖关系是注定与dependencyManagement一起注定的吗?