java - 如何在 Maven 中使用 POM 作为依赖项?

标签 java maven dependencies pom.xml

有没有办法添加 pom输入对我的 POM 的依赖并获取它的所有模块?

JavaMail是一个很好的例子。 Maven Central Repo 有一个名为:com.sun.mail:all:1.5.0 的父 POM包含模块:mail、mailapi、mailapijar、smtp、imap、gimap、pop3 和 dsn。

但是,“所有”人工制品只有一个文件:pom.xml有没有办法将这个“所有”人工制品作为依赖项添加到我的 POM 并获取它的所有模块?我 90% 确定这不是在 Maven 中使用依赖项的正确方法,但我想听听 The Stack 专家的意见。

想法:

  • <dependencies><dependency>...<type>pom</type></dependency></dependencies>
  • <dependencyManagement><dependencies><dependency>...<type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

相关:Netbeans: maven dependencies of type pom

最佳答案

你必须去

<dependencies>
  <dependency>
     <groupId>com.my</groupId>
     <artifactId>commons-deps</artifactId>
     <type>pom</type>
  </dependency>
</dependencies>

这会将 com.my:commons-deps 中声明的所有依赖项传递到您当前的 POM。

使用

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>...</groupId>
            <artifactId>...</artifactId>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

在您的依赖管理中作为 Artifact 版本的简单“包含”。因此,它不会在您的项目中添加任何依赖项。

关于java - 如何在 Maven 中使用 POM 作为依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16894032/

相关文章:

Java 1.7 - 带有 Math.log 函数

java - 为什么 JSON 中的汉字导致 JSON.parse 出现 "bad control character"错误?

java - 重复的类 org.apache.commons

spring - EJB3 拦截器无法引导上下文

class - 在UML类图中,如果B被类A使用的接口(interface)使用,我是否应该绘制从类A到B的依赖关系?

java - 重新映射 arraylist 值 - 从子类型到 super (sonarqube)

maven - IntelliJ + 执行 Maven 目标 : How to delete from recent?

java - 静态变量在 Maven jar 和 eclipse runnable jar 中的行为不同

tomcat - 没有Tomcat Manager时如何使用maven部署?

dependencies - Angular2 systemjs 问题