Gradle 收集多项目中的所有jar依赖并构建一个ear
Gradle gather all jar dependencies in multi project and build a ear
我是 gradle 的新手,我正在努力实现以下目标
我已经设置了一个多项目构建,具有以下结构
根:
:commonjar (java-库)
:war1 (war)
:war2 (war)
:externaljars(非托管 jar 的本地存储库)
:libs (耳朵)
我想自动收集 commonjar、war1 和 war2 的所有运行时依赖项,并生成一个可部署的 ear (libs),其中所有 jar 都存储在 libs 中。ear/lib
我找到了一种使用 taks 定义收集所有 jar 的方法,如下所示:
task copyDeps(type: Copy) {
from(subprojects.configurations.runtime)
into project.file(libDirName)
}
但无论我将罐子存放在哪里,"ear" 任务都不会拾取它们。
只是为了解释一下,我需要制作一个虚拟耳朵,只有 jar 可以在 IBM Websphere 应用程序服务器上进行远程部署和创建共享库定义。
有什么好的建议可以收集并打包整个项目中使用的所有 jar(也可以传递)?
谢谢
您可以简单地配置 ear
任务以包含您想要的依赖项,例如
ear {
duplicateStrategy = DuplicateStrategy.EXCLUDE
lib {
from rootProject.subprojects.configurations.runtime
}
}
我是 gradle 的新手,我正在努力实现以下目标 我已经设置了一个多项目构建,具有以下结构 根: :commonjar (java-库) :war1 (war) :war2 (war) :externaljars(非托管 jar 的本地存储库) :libs (耳朵)
我想自动收集 commonjar、war1 和 war2 的所有运行时依赖项,并生成一个可部署的 ear (libs),其中所有 jar 都存储在 libs 中。ear/lib
我找到了一种使用 taks 定义收集所有 jar 的方法,如下所示:
task copyDeps(type: Copy) {
from(subprojects.configurations.runtime)
into project.file(libDirName)
}
但无论我将罐子存放在哪里,"ear" 任务都不会拾取它们。
只是为了解释一下,我需要制作一个虚拟耳朵,只有 jar 可以在 IBM Websphere 应用程序服务器上进行远程部署和创建共享库定义。
有什么好的建议可以收集并打包整个项目中使用的所有 jar(也可以传递)? 谢谢
您可以简单地配置 ear
任务以包含您想要的依赖项,例如
ear {
duplicateStrategy = DuplicateStrategy.EXCLUDE
lib {
from rootProject.subprojects.configurations.runtime
}
}