java - 作为批量依赖的 Maven 聚合模块

标签 java maven dependency-management

是否可以使用聚合模块(聚合模块以用于构建目的的 pom)作为依赖项,传递地包含其模块作为依赖项?考虑到它必须声明那些与其子模块对应的依赖项,否则如果将其声明为依赖项,则它没有自己的依赖项,因此不包含传递性依赖项。

我已经尝试过了,但是我遇到了循环依赖错误。

否则我将不得不创建一个额外的模块(比如 my_module_deps)来声明所有这些依赖关系,这样我就可以将它用作一个依赖关系,传递地包含它的依赖关系。我不喜欢拥有除了作为依赖项之外没有任何特定用途的 Maven 模块。

这是所需的状态,因此我可以将它用于模块聚合和用于获取其传递依赖项的依赖项:

<project>
    <artifactId>aggregationModule</artifactId>
    <modules>
        <module>a</module>
        <module>b</module>
        <module>c</module>
    </modules>
    <dependencies>
        <dependency>
            <artifactId>a</artifactId>
        </dependency>
        <dependency>
            <artifactId>b</artifactId>
        </dependency>
        <dependency>
            <artifactId>c</artifactId>
        </dependency>
    </dependencies>
</project>

最佳答案

是否有任何子模块将聚合项目定义为其父项目? 如果是这样,这是行不通的,因为要成为父项目,必须先构建项目。 但是,如果父级本身同时将模块定义为依赖项,则必须首先构建模块,因此您创建了循环依赖项错误。

关于java - 作为批量依赖的 Maven 聚合模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14258323/

相关文章:

Java - 无法在 BufferedReader 中正确读取特殊字符

java - Maven 会自动构建其他模块吗?

java - 仅从 Maven 存储库中解压单个依赖项

maven - 在 Maven 多模块项目中,如何禁用一个子项目中的插件?

java - Java 程序中方案 : hdfs, 没有文件系统

java - org.objectweb.asm.ClassReader.readInt 中的 Jersey REST 异常 java.lang.ArrayIndexOutOfBoundsException

java - 数据流sdk构建失败

java - 如何检查 Maven 依赖兼容性

java - 如何创建两个相互引用的对象?

使用 Jasmine 和 Maven 2.x 进行 JavaScript 单元测试