Gradle收集多个项目中的所有jar依赖项并构建一个ear

时间:2017-08-28 21:51:52

标签: gradle jar dependencies ear multi-project

我是新手,我正在努力实现以下目标 我已经设置了一个多项目构建,具有以下结构 根: :commonjar(java-library) :war1(战争) :war2(战争) :externaljars(非托管jar的本地存储库) :libs(ear)

我想自动收集commonjar,war1和war2的所有运行时依赖项,并生成一个可部署的ear(libs),其中所有jar都存储在libs.ear / lib

我找到了一种方法来收集所有使用taks定义的jar:

task copyDeps(type: Copy) {
    from(subprojects.configurations.runtime) 
    into project.file(libDirName)
}

但无论我在哪里存放罐子,都不会被“耳朵”任务所吸引。

只是为了解释一下,我需要做一个虚拟的耳朵,只需要jars来进行远程部署并在IBM Websphere应用服务器上创建共享库定义。

有任何好的建议让耳朵收集并打包整个项目中使用的所有罐子(传递性的)吗? 感谢

1 个答案:

答案 0 :(得分:0)

您可以简单地配置ear任务,以包含您想要的依赖项,例如

ear {
    duplicateStrategy = DuplicateStrategy.EXCLUDE
    lib {
        from rootProject.subprojects.configurations.runtime
    }
}