Gradle 8.13下:test任务未声明依赖:jar任务的错误修复求助
修复Gradle Test任务与Jar任务的隐式依赖问题
问题根源在于你禁用了bootJar任务后,Gradle转而使用默认的jar任务生成普通jar包,但Test任务运行时会用到这个jar的输出,却没有和jar任务建立明确的依赖关系,触发了Gradle的任务依赖校验。
最简单的修复方式
给Test任务显式添加对jar任务的依赖,确保jar任务在test任务执行前完成。修改配置中的Test任务部分:
tasks.named('test') { useJUnitPlatform() // 添加这行,明确依赖jar任务 dependsOn tasks.named('jar') }
其他可选方案
如果你不想强制依赖,也可以用mustRunAfter保证执行顺序,但这种方式仅确保jar在test之前运行,不会强制触发jar任务执行(若之前未执行过):
tasks.named('test') { useJUnitPlatform() mustRunAfter tasks.named('jar') }
推荐使用第一种dependsOn的方式,它能确保jar任务一定会在test前执行,避免因任务顺序问题导致的错误。
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

