没有 Gradle war 插件,bootRepackage
任务取决于 jar
任务,但使用 Gradle War Plugin,它取决于 war
任务。
我怎样才能改变它以依赖 jar
即使我使用的是 Gradle War Plugin 也能完成任务?
更新:
我正在使用 war
创建一个包含要部署到文档服务器的文档的 war 文件的任务,我想使用 bootRepackage
d jar 文件来提供服务。我的 war
任务取决于 asciidoctor
依赖于 test
的任务任务(我正在使用 Spring REST 文档。)但我不想运行 asciidoctor
任务或 test
使用时的任务 bootRepackage
任务。
我通过以下设置解决了我的问题:
ext {
mainClassName = 'com.izeye.throwaway.Application'
}
task myBootRepackage(type: BootRepackage, dependsOn: jar) {
}
但我不确定这是一个很好的做法。
这是一个具有上述配置的示例项目:
https://github.com/izeye/spring-boot-throwaway-branches/tree/war
最佳答案
你应该能够做到这一点:
bootRepackage {
withJarTask jar
}
虽然这正确地导致 jar 任务的 jar 被重新打包,但它并没有消除对 war 任务的依赖。这是this Spring Boot issue的另一个症状.
在此问题得到解决之前,您所采用的方法——声明您自己的 BootRepackage 任务并手动配置它所依赖的任务——是您的最佳选择。
关于gradle - 使用 Gradle War Plugin 时如何使 bootRepackage 依赖于 jar 而不是 war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432236/