gpt4 book ai didi

java - 依赖于 bootRun 的 Gradle 任务

转载 作者:行者123 更新时间:2023-11-30 05:40:58 24 4
gpt4 key购买 nike

我有两个互斥的任务,完成后都应启动 bootRun

我提到它们是互斥的,因为我不希望 bootRun 依赖于它们中的任何一个。相反,我正在寻找类似于以下内容的流程:

task A() {
// setup for task A
// runs bootRun on completion
}

task B() {
// Does some things
// runs bootRun on completion
}

我尝试过以下方法,

task C() {
// Performs the task A setup
}

task A() {
dependsOn 'C'
dependsOn 'bootRun'
}

这样 gradle A 将启动设置(任务 C)和 bootRun(任务 B 具有类似的设置)。这会导致在项目“:x”中找不到路径为“bootRun”的任务

我还尝试将 A/B 任务声明为:任务 A(类型:org.springframework.boot.gradle.run.BootRunTask),但这会导致错误 无法获取项目 ':x' 类型的未知属性 'org' org.gradle.api.Project

如何在 gradle 中编写一个任务,在完成时启动 bootRun?

编辑:

这是一个多模块设置,如下所示:

settings.gradle
build.gradle
Application module
build.gradle (spring boot plugin lives here)
main() lives here
Service module
build.gradle (this is where tasks A and B live)

Spring Boot 插件在应用程序模块的 build.gradle 中通过以下方式提供:

plugins {
id 'org.springframework.boot' version '2.0.0.RELEASE'
}

我也可以将这个相同的插件添加到服务模块中,尽管它不知道主类是什么。

最佳答案

您需要 FinalizedBy( https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:finalizer_tasks )

A.finalizedBy bootRun
B.finalizedBy bootRun

关于java - 依赖于 bootRun 的 Gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com