10 maven-2 dependency-management
我使用依赖POM,然后我将其包含到另一个项目中作为依赖项.我遇到的问题是当它将POM与这些依赖关系聚合在一起时,它会在我声明范围的依赖关系时出现,前提是,这些不包括在内.
是否可以在提供范围的依赖性POM中包含提供的依赖项?我经常声明我需要的API,然后将实现包含在运行时依赖项中.
Pas*_*ent 19
如果提供了依赖项,为什么不能使用相同的范围继承该依赖项,所以我不必声明它?
它是继承了相同的范围内.鉴于以下父母pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow.Q3597684</groupId>
<artifactId>root</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Q3597684 - Root</name>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
以下pom.xml继承自根工件:
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>root</artifactId>
<groupId>com.stackoverflow.Q3597684</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>child</artifactId>
<packaging>war</packaging>
<name>Q3597684 - Child</name>
<dependencies/>
</project>
Run Code Online (Sandbox Code Playgroud)
mvn dependency:tree从子进程运行提供以下输出:
$ mvn dependency:tree[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Q3597684 - Child
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] com.stackoverflow.Q3597684:child:war:1.0-SNAPSHOT
[INFO] +- javax.servlet:servlet-api:jar:2.5:provided
[INFO] \- junit:junit:jar:3.8.1:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
servlet-api正如所料,提供的是那里.
你可能(误)使用该dependencyManagement部分吗?
| 归档时间: |
|
| 查看次数: |
16768 次 |
| 最近记录: |