看起来弹簧靴 gradle 插件不像应用程序插件那样打包 src/dist 的内容。如何将 src/dist 添加的内容添加到我的 Spring 启动分发 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"
}
我可以解决它。要添加回src/dist/
文件夹,我只需要将其添加到我的build.gradle中。遗憾的是,Spring boot 支持在配置文件夹中查找文件,但分发插件只是忽略了它。
bootDistZip {
into("${project.name}-boot-${project.version}") {
from './src/dist/'
}
}
bootDistTar {
into("${project.name}-boot-${project.version}") {
from './src/dist/'
}
}
我遇到了同样的问题,但无法使用接受的响应来解决它。
以下是对我有用的东西(使用 Gradle Kotlin DSL(
distributions.getByName("boot", Distribution::class) {
val distCopySpec = project.copySpec().from("src/dist")
this.contents.with(distCopySpec)
}
查看Spring Boot Gradle Plugin(2.7版(的源代码,我看到它创建了一个名为"boot"的发行版。上面的代码检索此分发并将新CopySpec
添加到其中以复制src/dist
文件夹的内容