java - 禁用 "-boot"分发

标签 java spring spring-boot gradle

我配置了一个具有多个 spring-boot 子项目的 gradle 项目,它似乎构建良好,但由于某种原因,“distributions”目录中有 2 个存档,一个带有“-boot”后缀,另一个没有。有后缀的只包含当前项目jar,没有任何依赖,没有后缀的包含启动应用程序所需的一切。我很确定上次我尝试构建 spring-boot 项目时没有生成这个其他存档,我不确定发生了什么变化。我怎样才能停止生成这些对我无用的文件?

父项目build.gradle:

allprojects {
    group '...'

    apply plugin: 'java'
}

subprojects {
    sourceCompatibility = 1.9
    targetCompatibility = 1.9

    repositories {
        ...
    }
}

spring-boot子项目build.gradle:

apply plugin: 'application'
apply plugin: 'org.springframework.boot'

mainClassName = '...'

dependencies {
    ...
}

buildscript {
    ext {
        springBootVersion = '2.0.0.M5'
    }
    repositories {
        ...
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

最佳答案

boot 分发包将您的应用程序的 fat jar 或 war 文件打包。换句话说,它的所有依赖项都打包在 jar 或 war 中,而不是在单独的 lib 目录中。

如果您不想从 boot 分发中生成存档,您可以禁用创建它们的任务:

bootDistZip.enabled = false
bootDistTar.enabled = false

关于java - 禁用 "-boot"分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47161119/

相关文章:

java - 如何使用JPA在spring-boot中通过排序聚合列来进行SQL查询?

spring - 从另一个应用程序使用网关

java - 如何保留父实体而不更新具有多对多关系的子实体?

java - JLabel.setVisible(false) 使其他组件的位置改变

java - JavaEE 应用程序中的 ChronicleMap 问题

Java程序通过调用C代码实现矩阵相乘

java - Spring application.properties 文件中的 boolean 值?

java - ArrayList 返回错误值

javascript - @Injectable 装饰器基本上相当于 Spring 中的 @Component 或 @Autowired 的 Angular 2 吗?

spring-boot - Spring Boot native 缓存 : How to expire/remove cache data by individual keys/elements