标签:kts spring boot gradle boogle org Gradle
一、目录结构
.
├── boogle-common
│ ├── build.gradle.kts
│ └── src
├── boogle-core
│ ├── build.gradle.kts
│ └── src
├── boogle-generator
│ ├── build.gradle.kts
│ └── src
├── boogle-logging
│ ├── build.gradle.kts
│ └── src
├── boogle-quartz
│ ├── build.gradle.kts
│ └── src
├── boogle-system
│ ├── build.gradle.kts
│ └── src
├── boogle-web-starter
│ ├── build.gradle.kts
│ └── src
├── buildSrc
│ ├── build
│ ├── build.gradle.kts
│ └── src
│ └── main
│ └── kotlin
│ └── org.wm.java-conventions.gradle.kts
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
二、引入spring-boot相关依赖
buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
// spring-boot 依赖管理插件
id("org.springframework.boot") version "2.7.3"
}
// spring-boot 依赖管理插件
apply(plugin = "io.spring.dependency-management")
// 指定启动类
tasks.named<org.springframework.boot.gradle.tasks.bundling.BootJar>("bootJar") {
mainClass.set("org.wm.WebAppApplication")
}
// 自定义slf4j版本
extra["slf4j.version"] = "1.7.20"
repositories {
maven {
url = uri("https://plugins.gradle.org/m2/")
}
gradlePluginPortal()
}
dependencies {
// spring-boot插件依赖
implementation("org.springframework.boot:spring-boot-gradle-plugin:2.7.3")
}
buildSrc/src/main/kotlin/org.wm.java-conventions.gradle.kts
import org.springframework.boot.gradle.tasks.bundling.BootJar
plugins {
`java-library`
`maven-publish`
id("org.springframework.boot")
}
apply(plugin = "io.spring.dependency-management")
tasks.named<BootJar>("bootJar") {
mainClass.set("org.wm.WebAppApplication")
}
repositories {
mavenLocal()
maven {
url = uri("https://maven.aliyun.com/repository/public/")
}
maven {
url = uri("https://repo.maven.apache.org/maven2/")
}
}
dependencies {
api("org.springframework.boot:spring-boot-starter-web")
api("org.springframework.boot:spring-boot-configuration-processor")
api("org.projectlombok:lombok:1.18.24")
annotationProcessor("org.projectlombok:lombok:1.18.24")
testAnnotationProcessor("org.projectlombok:lombok:1.18.24")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("io.projectreactor:reactor-test:3.4.17")
}
group = "org.wm"
version = "1.0.0-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_17
publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
}
}
tasks.withType<JavaCompile>() {
options.encoding = "UTF-8"
}
三、子项目依赖
boogle-common/build.gradle.kts
plugins {
id("org.wm.java-conventions")
}
dependencies {
api(project(":boogle-core"))
api("org.springframework.boot:spring-boot-starter-aop")
api("org.springframework.boot:spring-boot-starter-data-redis")
}
description = "通用工具模块"
boogle-core/build.gradle.kts
plugins {
id("org.wm.java-conventions")
}
dependencies {
api("org.springframework.boot:spring-boot-starter-security")
testImplementation("org.springframework.security:spring-security-test:5.6.3")
}
description = "核心模块"
四、settings.gradle.kts配置
rootProject.name = "XunLuAdmin"
include(":boogle-core")
include(":boogle-system")
include(":boogle-web-starter")
include(":boogle-logging")
include(":boogle-generator")
include(":boogle-quartz")
include(":boogle-common")
五、打包
./gradlew bootJar
如果使用IDEA可以直接点击/Tasks/build/bootJar任务打包。
六、参考文档
标签:kts,spring,boot,gradle,boogle,org,Gradle 来源: https://www.cnblogs.com/yourblog/p/16632766.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。