Reputation: 1803
Structure:
ROOT
|- AModule
|- pom.xml
|- BModule
|- pom.xml
|- pom.xml(parent pom)
pom.xml
in AModule:
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope> <!--servlet-api declare "provided"-->
</dependency>
</dependencies>
pom.xml
in BModule(depend AModule):
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>AModule</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
I want to use servlet-api
in BModule(maybe more modules: CModule, DModule...), but it is not included in BModule, can BModule use dependency that declare <scope>provided</scope>
in AModule?
Upvotes: 0
Views: 36
Reputation: 35833
No, provided
dependencies are not transitive.
Furthermore, you should not directly use the dependencies of your dependencies. Better declare them explicitly.
Upvotes: 1