我有一个Gradle项目,它包含3个模块:
project-core
(无依赖关系)project-web
(取决于project-core
)project-plugin
(取决于两个模块)我不希望每次创建WAR时都将插件手动添加到project-web
的类路径中,所以我想扩展WAR任务并创建一个“warWithPlugin”任务,它会添加插件jar也可以到libs文件夹。
显然我不能将project-plugin
添加为依赖项,因为我得到循环依赖项。我还有什么其他选择来将插件jar打包到WAR中?
答案 0 :(得分:1)
当然,您可以使用project-plugin
作为依赖项创建新配置,然后将该配置添加到WEB-INF/lib
目录。
configurations {
plugin
}
dependencies {
plugin project(':plugin')
}
war {
into('WEB-INF/lib') {
duplicatesStrategy 'exclude'
from configurations.plugin
}
}