【问题标题】:How do I get gradle to load all dependency versions如何让 gradle 加载所有依赖版本
【发布时间】:2014-09-29 21:13:25
【问题描述】:

我有一个具有依赖项的非 java 项目,我们基本上希望能够将来自 Artifactory 的同一依赖模块的两个版本包含到项目的工作区中(在不同的文件夹中)。

所以我有一个项目,在依赖关系树中有同一个模块的多个版本。例如:

Project A depends on: 
       module B version 3.0 depends on
                          module C version 2.0
       module C version 1.0

我想扩展到:

workspace
    dependencies
        B              <- contents of module B version 3.0
        C_abc          <- contents of module C version 2.0
        modC_xyz       <- contents of module C version 1.0

现在我们希望 gradle 从 artifactory 中获取模块 C 的 1.0 和 2.0 版本的工件。 问题是它试图解决“冲突”(即它想要获得 1.0 版或 2.0 版,而我似乎无法让它同时保留两者。 一旦我将它们全部用于配置,我就可以将它们展开到正确的文件夹中,所以这不是真正的问题。

有人对此有解决方案吗?

【问题讨论】:

    标签: gradle


    【解决方案1】:

    为复制模块创建单独的配置。然后,您可以将该配置复制到您选择的位置。

    configurations {
        moduleB
    }
    
    dependencies {
        moduleB 'org.foo:dependency:3.0'
    }
    
    task copyDependencies(type: Copy) {
        from(configurations.moduleB) {
            into 'workspace/dependencies/B'
        }
    }
    

    【讨论】:

    • 谢谢马克,我会试试这个。
    猜你喜欢
    • 2017-08-21
    • 2023-04-02
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多