Loading...
Loading...
Compare original and translation side by side
build.gradle.ktsplugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.test {
useJUnitPlatform()
}./gradlew bootRun # Run locally
./gradlew bootJar # Create executable JAR
./gradlew bootRun --args='--spring.profiles.active=dev' # Run with profilebuild.gradle.ktsplugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.test {
useJUnitPlatform()
}./gradlew bootRun # 本地运行
./gradlew bootJar # 创建可执行JAR
./gradlew bootRun --args='--spring.profiles.active=dev' # 带配置文件运行// build.gradle.kts - Web Service (creates bootable JAR)
plugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}org.springframework.bootio.spring.dependency-management// build.gradle.kts - Web服务(创建可执行JAR)
plugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}org.springframework.bootio.spring.dependency-managementjava {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}dependencies {
// Spring Boot starter (no version needed - from BOM)
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
// Development only (DevTools for hot reload)
developmentOnly("org.springframework.boot:spring-boot-devtools")
// Test dependencies
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
// Enable JUnit 5
tasks.test {
useJUnitPlatform()
}dependencies {
// Spring Boot启动器(无需版本号 - 来自BOM)
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
// 仅开发环境使用(DevTools实现热重载)
developmentOnly("org.springframework.boot:spring-boot-devtools")
// 测试依赖
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
// 启用JUnit 5
tasks.test {
useJUnitPlatform()
}tasks.bootJar {
enabled = true
archiveClassifier = "" // No classifier for main artifact
}
tasks.jar {
enabled = false // Disable plain JAR
}tasks.bootJar {
enabled = false // Not executable
}
tasks.jar {
enabled = true // Create library JAR
}tasks.bootJar {
enabled = true
archiveClassifier = "" // 主产物无分类器
}
tasks.jar {
enabled = false // 禁用普通JAR
}tasks.bootJar {
enabled = false // 不可执行
}
tasks.jar {
enabled = true // 创建库JAR
}tasks.bootJar {
enabled = true
layered {
enabled = true
application {
enabled = true
}
dependencies {
enabled = true
}
springBootLoader {
enabled = true
}
snapshot {
enabled = true
}
}
}FROM eclipse-temurin:21-jre-alpine AS builder
WORKDIR /builder
COPY build/libs/app.jar .
RUN java -Djarmode=layertools -jar app.jar extract
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY /builder/dependencies ./
COPY /builder/spring-boot-loader ./
COPY /builder/snapshot-dependencies ./
COPY /builder/application ./
ENTRYPOINT ["java", "org.springframework.boot.loader.launch.JarLauncher"]tasks.bootJar {
enabled = true
layered {
enabled = true
application {
enabled = true
}
dependencies {
enabled = true
}
springBootLoader {
enabled = true
}
snapshot {
enabled = true
}
}
}FROM eclipse-temurin:21-jre-alpine AS builder
WORKDIR /builder
COPY build/libs/app.jar .
RUN java -Djarmode=layertools -jar app.jar extract
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY /builder/dependencies ./
COPY /builder/spring-boot-loader ./
COPY /builder/snapshot-dependencies ./
COPY /builder/application ./
ENTRYPOINT ["java", "org.springframework.boot.loader.launch.JarLauncher"]application.ymltasks.processResources {
filesMatching("application.yml") {
expand(
"version" to project.version,
"name" to project.name,
"timestamp" to System.currentTimeMillis()
)
}
}application.ymlspring:
application:
name: ${name}
info:
app:
name: ${name}
version: ${version}
build-timestamp: ${timestamp}application.ymltasks.processResources {
filesMatching("application.yml") {
expand(
"version" to project.version,
"name" to project.name,
"timestamp" to System.currentTimeMillis()
)
}
}application.ymlspring:
application:
name: ${name}
info:
app:
name: ${name}
version: ${version}
build-timestamp: ${timestamp}dependencies {
developmentOnly("org.springframework.boot:spring-boot-devtools")
}./gradlew compileJavadependencies {
developmentOnly("org.springframework.boot:spring-boot-devtools")
}./gradlew compileJavadependencies {
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("io.micrometer:micrometer-registry-prometheus")
}application.ymlmanagement:
endpoints:
web:
exposure:
include: health,info,prometheus,metrics,env
metrics:
export:
prometheus:
enabled: true
endpoint:
health:
show-details: alwaysdependencies {
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("io.micrometer:micrometer-registry-prometheus")
}application.ymlmanagement:
endpoints:
web:
exposure:
include: health,info,prometheus,metrics,env
metrics:
export:
prometheus:
enabled: true
endpoint:
health:
show-details: always// build.gradle.kts
plugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.waitrose"
version = "1.0.0"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.test {
useJUnitPlatform()
}
tasks.bootJar {
enabled = true
}
tasks.jar {
enabled = false
}./gradlew bootJar # Create JAR: build/libs/app-1.0.0.jar
java -jar build/libs/app-1.0.0.jar # Run JAR// build.gradle.kts
plugins {
id("java")
id("org.springframework.boot") version "3.5.5"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.waitrose"
version = "1.0.0"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.test {
useJUnitPlatform()
}
tasks.bootJar {
enabled = true
}
tasks.jar {
enabled = false
}./gradlew bootJar # 创建JAR: build/libs/app-1.0.0.jar
java -jar build/libs/app-1.0.0.jar # 运行JAR