为什么maven不“添加”所有依赖项? (以弹簧为例)

发布于 2024-09-30 23:19:21 字数 1064 浏览 0 评论 0原文

我将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软甜啾 2024-10-07 23:19:21

这些依赖项在 pom.xml 中被标记为可选 (<可选>true)。因此他们没有被包括在内。

These dependencies are marked as optional (<optional>true</optional>) in the pom. Hence they do not get included.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文