在 Spring Boot 2.5.0 更新之后,它会myprogram-0.0.1-plain.jar在通常的myprogram-0.0.1.jar. 我可以禁止 gradle 生成*.plain.jar文件吗?我使用 Gradle 7.0.2。
我得到的:
build/
libs/
myprogram-0.0.1.jar
myprogram-0.0.1-plain.jar
Run Code Online (Sandbox Code Playgroud)
我想要的是:
build/
libs/
myprogram-0.0.1.jar
Run Code Online (Sandbox Code Playgroud)
构建.gradle:
plugins {
id 'org.springframework.boot' version '2.5.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个 gradle 脚本来自动化一些构建。然而,似乎有两种创建任务的方法。我应该服用什么?为什么有不同的类型?
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") {
from "src"
into "dest"
}
Run Code Online (Sandbox Code Playgroud)
与
tasks.register("gutenTag", Greeting) {
group = 'Welcome'
description = 'Produces a German greeting'
message = 'Guten Tag'
recipient = 'Welt'
}
Run Code Online (Sandbox Code Playgroud) 我想运行一个周期性任务。在 Spring MVC 中它可以完美地工作。现在我想集成 Spring Webflux + Kotlin 协程。如何在@Scheduled方法中调用挂起的函数?我希望它等到挂起的功能完成。
/// This function starts every 00:10 UTC
@Scheduled(cron = "0 10 0 * * *", zone = "UTC")
fun myScheduler() {
// ???
}
suspend fun mySuspendedFunction() {
// business logic
}
Run Code Online (Sandbox Code Playgroud)