如何在Gradle构建期间包括外部Webapp文件

时间:2019-01-05 21:05:16

标签: java eclipse web gradle

在构建过程中,我试图合并多个项目中的“ src / main / webapp”内容。本以为可以使用sourceSets规则实现

sourceSets {
    main {
        java {
            srcDir 'src/main/java'
            srcDir project(':core').file('src/main/java')           
            srcDir project(':mongodb').file('src/main/java')           
            srcDir project(':tripper').file('src/main/java')           
        }
        resources {
            srcDir 'src/main/resources'
            srcDir project(':core').file('src/main/resources')           
            srcDir project(':mongodb').file('src/main/resources')           
            srcDir project(':tripper').file('src/main/resources')           
        }
        webapp {
            srcDir 'src/main/webapp'
            srcDir project(':core').file('src/main/webapp')           
        }
    }
    test {
        resources {
            srcDir 'src/test/resources'
            srcDir project(':core').file('src/test/resources')           
        }
    }
}

当我运行 gradle clean build 时,出现以下错误。

$ gradle clean build

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\mikem\git\workbench\payment\build.gradle' line: 45

* What went wrong:
A problem occurred evaluating project ':payment'.
> Could not find method webapp() for arguments [build_anxrainh90symveso782viscs$_run_closure2$_closure6$_closure10@38dc5714] on source set 'main' of type org.gradle.api.internal.tasks.DefaultSourceSet.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

我似乎没有 webapp 的构建位置,因此在构建过程中也无法运行文件夹复制任务。

文档描述     战争{        包括“ ...”        来自“ ...”     } 但看不到战争中包含的内容,也没有显示错误。

有人知道这是否可行,或者知道执行此任务的其他技术吗?

:(

1 个答案:

答案 0 :(得分:0)

我会为战争写一个单独的任务,使战争依赖战争。

task copyOther(type: Copy){
  from //location
  into "$webAppDirName" //src/main/webapp

 }

war.dependsOn copyOther

由于您没有创建clean任务不知道的任何文件夹,因此它应该能够清理文件