spring-boot - 在 Spring Boot 中编译项目时执行 Gradle 任务

标签 spring-boot gradle

我的 Spring Boot Web 应用程序(数据库、paymet)中的模块很少。在编译数据库模块时,我需要执行一个 gradle 任务。我以下面的方式尝试了它,但它给出了错误。

dependencies {
 compile project(':pathToDatabaseModule') {
    dependsOn('taskName')
 }
}

我的任务是复制特定的文件集。
task taskName(type: Copy) {
 from "${rootDir}/fromPath"
 into "${rootDir}/toPath"
}

它给出以下错误,
Gradle DSL method not found: 'dependsOn()'
Possible causes:<ul><li>The project 'intersureplus' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 2.3.2 and sync project</li><li>The project 'intersureplus' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file</li><li>The build file may be missing a Gradle plugin.
Apply Gradle plugin</li>

所有的事情都是正确的,当我添加 时出现错误依赖 里面 编译像上面那样阻塞。我是 gradle 的初学者,所以请帮我解决这个问题。

最佳答案

dependsOn方法由 Task 公开Gradle 中的类,你不能在脚本的任何地方使用这个方法,当然也不能在 dependencies 中使用。配置 block 。如果要在根项目中的任务(例如:build 任务)和子项目中定义的任务之间创建依赖关系 :projectpath (例如:dependenTask 任务),那么您可以在根项目的 build.gradle 中编写类似的内容脚本:

build.dependsOn(':projectpath:dependenTask')

这相当于:
project.tasks.getByName('build').dependsOn(':projectpath:dependenTask')

编辑 您还可以在另一个方向创建依赖项:使数据库子项目中的任务依赖于根项目中定义的“预处理”任务:

/database/build.gradle 脚本:
tasks.getByName('build').dependsOn(':preProcessTask')

关于spring-boot - 在 Spring Boot 中编译项目时执行 Gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52702366/

相关文章:

java - 是否可以使用jsp登录表单作为spring security的自定义登录表单

java - 在 spring rest Api 中启用 SSL (HTTPS)

java - 是否可以使用 Spring Security 在 html 页面上隐藏按钮等?

java - Gradle 1.0.0 项目同步失败 mavenCentral

java - Gradle 忽略内部关系存储库

android - 错误 :"Configuration ' compile' 已过时并已替换为 'implementation' .", even though no ' compile' present in gradle

gradle - 在Gradle中,如何执行对延迟评估的属性(在扩展名上)的验证?

java - 为什么Gradle任务未按正确顺序运行

spring-boot - 为什么将spring.factories用于Spring Boot自动配置而不是注释?

java - 将错误消息从 SSE (Webflux) Spring Boot 应用程序传递到 Angular 7 前端