gradle - 使用 Gradle War Plugin 时如何使 bootRepackage 依赖于 jar 而不是 war

标签 gradle jar spring-boot war

没有 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/

相关文章:

java - Spring Boot Rest Rest API 上的异步 - 注释应该仅在服务或 Controller 上

android - Android Gradle 项目中的依赖项 (Android Studio)

groovy - 在任务规则中定义任务时,如何强制运行测试任务?

Android Gradle 编译项目的特定风格

java - 使用gradle构建spring3框架失败

java - 列出依赖项时未找到 JDEPS 模块异常

java - 状态更改时日期将被删除

java - Spring Integration DSL 中的消息类型安全

java - 如何在 Android 5 上修补 services.jar?

java - JAR 文件不从 ext 加载类文件