Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拥有所有gradle子项目';测试';任务依赖于rootproject';设置';任务_Gradle - Fatal编程技术网

拥有所有gradle子项目';测试';任务依赖于rootproject';设置';任务

拥有所有gradle子项目';测试';任务依赖于rootproject';设置';任务,gradle,Gradle,我原以为这样行得通,但事情一定变了(或者我犯了某种错误) 我在根级别上有以下任务(即子项目闭包外部和allprojects闭包外部) 我得到的错误是 A problem occurred evaluating root project 'webpieces'. > Could not get unknown property 'deleteJavaCache' for root project 'webpieces' of type org.gradle.api.Project. 然

我原以为这样行得通,但事情一定变了(或者我犯了某种错误)

我在根级别上有以下任务(即子项目闭包外部和allprojects闭包外部)

我得到的错误是

A problem occurred evaluating root project 'webpieces'.
> Could not get unknown property 'deleteJavaCache' for root project 
'webpieces' of type org.gradle.api.Project.
然后我猜了一些事情,包括这个

test.dependsOn rootProject.task('deleteJavaCache')
但这给了我一个错误

* What went wrong:
A problem occurred evaluating root project 'webpieces'.
> Cannot add task ':deleteJavaCache' as a task with that name already exists.
因此,版本信息是

------------------------------------------------------------
Gradle 4.1-milestone-1
------------------------------------------------------------
Build time:   2017-06-20 17:05:46 UTC
Revision:     3ad5af92d482b963cc6b00fb5ad53b608606d657

Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_111 (Oracle Corporation 25.111-b14)
OS:           Mac OS X 10.11.6 x86_64

仔细检查您的
设置。渐变
,如果子项目是
,则在那里包括


如果我理解正确的话,是这样的:

root (deleteJavaCache)
  |- subprojects (test.dependsOn deleteJavaCache from the root)
试试这个:

test.dependsOn (":deleteJavaCache")
或者,如果您希望所有子项目
test
任务都在之前运行它:

//in root build.gradle
subprojects {
    test.dependsOn (":deleteJavaCache")
}
我认为您正在尝试自定义子项目
test
task,使其依赖于根项目的任务?

因为你说的有点混乱:

我在根级别有以下任务

这意味着整个代码块都在根项目中,
deleteJavaCache
test
任务。如果是,请尝试下面的解决方案如果不是,请使用上面的解决方案并澄清问题

test.dependsOn deleteJavaCache

请尝试
rootProject.tasks['deleteJavaCache']
?@lu.koerfer close!但是错误是“在根项目“webpieces”中找不到名为“deleteJavaCache”的任务”。这很奇怪,因为我在帖子中定义了它,这就是我其他新目标的定义。哦,从那以后,我尝试了一个用于发布的全局任务,名为uploadArchives2,它说不存在,这肯定不是真的,因为我的发布会中断。长话短说,我试图在所有测试运行之前运行一个目标,并且只运行一次。我的完整build.gradle没有添加上面的代码(我正在尝试调整此文件)在您的
build.gradle
中的哪里定义了
deleteJavaCache
任务?注释中有一个链接指向实际的构建文件hmmm,是的,此文件似乎正在工作。因此它取决于根项目的单个deleteJavaCache目标。
test.dependsOn deleteJavaCache