首页 文章

Gradle在多个项目中收集所有jar依赖项并构建一个耳朵

提问于
浏览
0

我是新手gradle,我正在尝试实现以下我已经设置了多项目构建,具有以下结构root :: commonjar(java-library):war1(war):war2(war):externaljars(local repository)对于非托管 jar ):libs(耳朵)

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

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

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

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

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

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

1 回答

  • 0

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

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

相关问题