将gradle及其spring-boot插件(1.5.1)和first spirit plugin一起使用会引发错误:
D:\Coden\WS\STS\fs-db-import>gradle build
:genJaxb
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:fsm UP-TO-DATE
:bootRepackage FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':bootRepackage'.
> Unable to deduce layout for 'D:\Coden\WS\STS\fs-db-import\build\fsm\fs-db-import-0.0.1.fsm'
看来Spring Boot插件中的bootRepackage无法处理或打包fsm文件。
a)如何排除它?
另一种方法是切换“fsm”和“bootRepackage”任务,但在build.gradle中添加以下几行
bootRepackage.dependsOn -= fsm
tasks.bootRepackage.dependsOn -= fsm
fsm.dependsOn bootRepackage
结果是
Circular dependency between the following tasks:
:bootRepackage
\--- :fsm
\--- :bootRepackage (*)
(*) - details omitted (listed previously)
b)如何从“bootRepackage”中删除“fsm”的依赖关系?
c)是否可以显示gradle任务依赖关系图? (不是项目依赖性)
最佳答案
默认情况下,Spring Boot插件会尝试重新打包Jar
类型的所有任务。 FSM任务是从Jar
扩展而来的,插件尝试将它们重新打包。您可以明确告诉插件要使用哪个Jar
任务。
bootRepackage {
withJarTask jar
}
可以在Spring Documentation中找到更多信息。
关于gradle - 处理gradle任务依赖项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25686474/