gradle 如何将src/dist添加到spring Boot 发行版

axr492tv  于 2023-03-08  发布在  Spring
关注(0)|答案(2)|浏览(164)

看起来spring boots gradle插件没有像应用程序插件那样打包src/dist的内容。我如何将src/dist add的内容添加到我的spring boot发行版zip和tar中?

plugins {
    id 'java'
    id 'application'
    id 'org.springframework.boot' version '2.0.2.RELEASE'
    id "io.spring.dependency-management" version "1.0.5.RELEASE"
}

version '1.0-SNAPSHOT'

repositories {
    jcenter()
    mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = "kic.data.server.Server"

dependencies {
    compile 'org.springframework.boot:spring-boot-starter'
    compile 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.apache.commons:commons-lang3:3.7'

    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile "org.springframework.boot:spring-boot-starter-test"

    testCompile 'org.spockframework:spock-core:1.1-groovy-2.4'
    testCompile 'org.hamcrest:hamcrest-core:1.3'
    testCompile "com.github.tomakehurst:wiremock-standalone:2.16.0"

}
goqiplq2

goqiplq21#

我可以解决这个问题。要重新添加src/dist/文件夹,我只需要将其添加到我的build.gradle中。遗憾的是,spring Boot 支持在config文件夹中查找文件,但分发插件忽略了它。

bootDistZip {
    into("${project.name}-boot-${project.version}") {
        from './src/dist/'
    }
}

bootDistTar {
    into("${project.name}-boot-${project.version}") {
        from './src/dist/'
    }
}
dm7nw8vv

dm7nw8vv2#

我遇到了同样的问题,但无法使用已接受的响应解决它。
以下是对我有效的方法(使用GradleKotlinDSL)

distributions.getByName("boot", Distribution::class) {
    val distCopySpec = project.copySpec().from("src/dist")
    this.contents.with(distCopySpec)
}

查看Spring Boot Gradle Plugin (version 2.7)的源代码,我看到它创建了一个名为“ Boot ”的发行版,上面的代码检索这个发行版并向其中添加一个新的CopySpec以复制src/dist文件夹的内容

相关问题