我正在为 Gradle 使用 Eclipse Buildship V2.1.2。我有两个独立的 Web 项目 P1 和 P2 以及一个项目 P3,它充当所有其他项目的依赖项。我的任务是创建一个主要构建,我可以使用它从 P1 和 P2 构建和生成 WAR 文件以及从 P3 生成 JAR 文件。我应该包含这个 P3 jar 文件作为 P1 和 P2 的依赖项。我创建了一个composite-build
具有以下结构的,
复合项目
P1
- 构建.gradle
- 设置.gradle
P2
- 构建.gradle
- 设置.gradle
- P3
- 构建.gradle
- 设置.gradle
构建.gradle
设置.gradle
复合项目-> build.gradle:
task run {
println "Tasks: services"
dependsOn gradle.includedBuild('P1').task(':run')
dependsOn gradle.includedBuild('P2).task(':run')
dependsOn gradle.includedBuild('P3).task(':run')
}
复合项目-> settings.gradle:
rootProject.name = 'services'
includeBuild 'P1'
includeBuild 'P2'
includeBuild 'P3'
P1 -> build.gradle
apply plugin: 'war'
defaultTasks 'run'
task run {
println "Tasks: cluster"
buildDir = new File(rootProject.projectDir, "gradleBuild/" + project.name)
}
现在,如果我运行“复合项目”的构建,所有项目都已配置,但未创建 WAR 文件和 JAR 文件。只有在为该项目运行构建时才会创建战争文件。如何完成这项任务?