相关疑难解决方法(0)

gradle中的传递文件依赖项

我想控制多项目Java构建中的哪些依赖项是可传递的.我目前的解决方案是在根项目中设置"导出"配置:

allprojects {
    configurations {
        export {
            description = 'Exported classpath'
        }
        compile {
            extendsFrom export
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

项目A具有多个文件依赖项:

dependencies {
    compile files('A.jar', 'B.jar')
    export files('C.jar')
}
Run Code Online (Sandbox Code Playgroud)

项目B依赖于项目A,但只C.jar应在类路径上进行编译,因此添加:

dependencies {
    export project(path: ':A', configuration:'export')
}
Run Code Online (Sandbox Code Playgroud)

这会产生所需的结果,A.jar并且B.jar不在类路径上,而是C.jar在类路径上进行编译.

我不确定这是否是"gradle"做事的方式.要配置传递性,我宁愿为项目A中的依赖项指定属性或配置闭包,而不是使用不同的"导出"配置.

这可能是文件依赖,还是有另一种方法来实现这一点?

java gradle

9
推荐指数
1
解决办法
6212
查看次数

标签 统计

gradle ×1

java ×1