使用 Gradle War 插件时如何使 bootRepackage 依赖于 jar 而不是 war
How to make bootRepackage depends on jar not war when using Gradle War Plugin
没有 Gradle War 插件,bootRepackage
任务依赖于 jar
任务,但是有 Gradle War 插件,它依赖于 war
任务。
即使我正在使用 Gradle War 插件,如何将其更改为依赖于 jar
任务?
更新:
我正在使用 war
任务创建一个 war 文件,其中包含要部署到文档服务器的文档,我想使用 bootRepackage
d jar 文件来提供服务.我的 war
任务取决于 asciidoctor
任务,而 asciidoctor
任务又取决于 test
任务(我正在使用 Spring REST 文档。)但我不想 运行使用 bootRepackage
任务时 asciidoctor
任务或 test
任务。
我通过以下设置解决了我的问题:
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 War 插件,bootRepackage
任务依赖于 jar
任务,但是有 Gradle War 插件,它依赖于 war
任务。
即使我正在使用 Gradle War 插件,如何将其更改为依赖于 jar
任务?
更新:
我正在使用 war
任务创建一个 war 文件,其中包含要部署到文档服务器的文档,我想使用 bootRepackage
d jar 文件来提供服务.我的 war
任务取决于 asciidoctor
任务,而 asciidoctor
任务又取决于 test
任务(我正在使用 Spring REST 文档。)但我不想 运行使用 bootRepackage
任务时 asciidoctor
任务或 test
任务。
我通过以下设置解决了我的问题:
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 任务并手动配置它所依赖的任务 - 是您的最佳选择。