我有一个看起来像这样的多项目:
main-web-app
\- web-app-1
\- web-app-2
每个模块都有 build.gradle 文件。我需要生成一个 main-web-app.war (实际上是一个战争爆炸的目录),它将包含子模块中的所有内容。
所以每个子模块build.gradle都是这样的:
apply plugin: 'war'
//...
task explodedWar(type: Copy) {
project.ext.buildExplodedDir = "$buildDir/webapps/web-app-1"
into "$buildDir/webapps/web-app-1"
with war
}
war.dependsOn explodedWar
并且主网络应用 build.gradle (以及这里的问题)应如下所示:
war {
from fileTree(project(':web-app-1').buildExplodedDir)
from fileTree(project(':web-app-2').buildExplodedDir)
}
但后来我收到此错误消息:
Could not find property 'buildExplodedDir' on project ':web-app-1'
让我的父项目找到什么是“buildExplodedDir”的正确方法是什么?
答案 0 :(得分:0)
for i in range(years):
average = "=AVERAGE("
average += chr(65+i)
average += "1:"
average += chr(65+i)
average += str(x)
average += ")"
worksheet.write(x, i, average)
您可能还需要告诉gradle首先解析子模块。所以在你的父gradle文件中只需添加类似这样的内容
apply plugin: 'war'
//...
task explodedWar(type: Copy) {
if (!rootProject.hasProperty('buildExplodedDir')) {
rootProject.ext.buildExplodedDir = []
}
rootProject.ext.buildExplodedDir << "$buildDir/webapps/web-app-1"
into "$buildDir/webapps/web-app-1"
with war
}
war.dependsOn explodedWar