Gradle: 'dependsOn' 到其他子项目中的任务

标签 gradle dependencies war

我有一个分层的 gradle 3.1 项目,如下所示:

root
    - build.gradle
    - settings.gradle
    - server (Java + WAR plugin)
        - build.gradle
    - client (Node plugin)
        - build.gradle

因此,settings.gradle 看起来像这样:

include ':server', ':client'

我现在想做的是将 :client:build 任务的输出捆绑在 :server 生成的 *.war 文件中:war 任务。为此,我需要从 :server:war:client:build 的依赖关系,以确保 :client:build 的输出文件当我需要在 :server:war 任务中复制它们时,code> 总是存在。

问题是:这是如何工作的?

我想在这里实现的目标:每当执行 :server:war 时,:client:build 首先执行/em>.

到目前为止我尝试过的事情(没有一个起作用):

// in server/build.gradle
task war {
    dependsOn ':client:build'
}

我也尝试过:

// in server/build.gradle
war.dependsOn = ':client:build'

...还有:

// in server/build.gradle
task war(dependsOn: ':client:build') {

}

以上尝试均无效。知道我做错了什么吗?

最佳答案

请尝试:

war.dependsOn ':client:build'

和:

task war {
    dependsOn ':client:build'
}

定义了一个名为war的新任务

和:

war.dependsOn = ':client:build'

理论上调用this方法但参数类型错误

和:

task war(dependsOn: ':client:build') {
}

在这里您还定义了一个新任务。

关于Gradle: 'dependsOn' 到其他子项目中的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44056115/

相关文章:

gradle - 如何收集 Gradle 7 中的所有依赖项?

java - tomcat 中的两个 war 文件与每个 tomcat 中的每个 war 文件 - 性能比较

android - SDK版本呈现问题

java - 为eclipse(java web)创建gradle示例项目

android - UnknownPluginException 使用 Google Play 服务和插件 DSL

java - 如何在 Windows 上使用 Ubuntu 中的 Windows JDK 构建我的 Gradle 项目?

android - Intellij 12 maven library Android RestTemplate 麻烦处理javax/xml/parser/DocumentBuilder.class

php - Composer /WordPress : wp-content directory should or should not be committed

java - 在 websphere 中启动应用程序时出现异常 java.lang.NoSuchMethodError : org/w3c/dom/Node. getTextContent()Ljava/lang/String

Java & Tomcat : Severe Error starting obfuscated app w/hibernate inside