为什么maven不“添加”所有依赖项? (以弹簧为例)
我将 sprig 依赖项添加到我的 Maven pom 中。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6.SEC01</version>
</dependency>
我“运行”maven 来下载所有依赖项。 在 spring pom 文件(来自本地 .m2 存储库)中,我可以看到许多依赖项(大约 20 个)
.....
</organization>
<dependencies>
<!-- External Dependencies -->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>2.2.3</version>
<optional>true</optional>
</dependency>
.....
但是当我通过 Assebly 插件收集所有库或使用“依赖项”任务列出所有库时,我看到 Maven 仅“使用”spring 和Commons-lang。没有其他人了。
我只是想知道发生了什么或者我做错了什么?为什么maven不从spring pom“添加”所有依赖项?
I add sprig dependency to my maven pom.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6.SEC01</version>
</dependency>
I "run" maven to download all dependencies.
In spring pom file (from local .m2 repository) I can see many dependencies (about 20)
.....
</organization>
<dependencies>
<!-- External Dependencies -->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>2.2.3</version>
<optional>true</optional>
</dependency>
.....
But when I collect all libs by Assebly plugin or list all of them using "dependencies" task, I see that maven "use" only spring and commons-lang. No any others.
I just want to know whats happens or what I am doing wrong? Why maven do not "add" all dependencies from spring pom?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这些依赖项在 pom.xml 中被标记为可选 (
<可选>true)。因此他们没有被包括在内。
These dependencies are marked as optional (
<optional>true</optional>
) in the pom. Hence they do not get included.