Root project 主项目
settings.gradle
rootProject.name = "auto-test"
include 'lz-core'
include 'lz-web'
build.gradle
// 构建配置
buildscript {
ext {
java_version = '11'
kotlin_version = '1.5.10'
spring_boot_version = '2.5.1'
spring_gradle_plugin_version = '1.0.11.RELEASE'
}
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://plugins.gradle.org/m2/' }
mavenCentral()
}
dependencies {
// https://plugins.gradle.org/search?term=org.jetbrains.kotlin%3Akotlin-gradle-plugin
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// https://kotlinlang.org/docs/all-open-plugin.html#spring-support
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
// 一个提供类似 Maven 依赖管理功能的 Gradle 插件 https://plugins.gradle.org/plugin/io.spring.dependency-management
classpath "io.spring.gradle:dependency-management-plugin:$spring_gradle_plugin_version"
// https://plugins.gradle.org/plugin/org.springframework.boot
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
}
}
// all项目配置
allprojects {
group = 'com.lz.auto-test'
version = '0.0.1-SNAPSHOT'
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://plugins.gradle.org/m2/' }
mavenCentral()
}
}
// 子项目配置
subprojects {
apply plugin: 'kotlin'
apply plugin: "kotlin-spring"
apply plugin: "io.spring.dependency-management"
apply plugin: "org.springframework.boot"
sourceCompatibility = java_version
targetCompatibility = java_version
compileKotlin {
kotlinOptions {
suppressWarnings = true // 不生成警告
verbose = true // 启用详细日志输出
freeCompilerArgs = ["-Xjsr305=strict"] // 附加编译器参数的列表
jvmTarget = java_version //生成的 JVM 字节码的目标版本
javaParameters = true //为方法参数生成 Java 1.8 反射的元数据
}
}
dependencies {
}
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:$spring_boot_version"
}
}
}
Sub Projects 子项目
非可执行jar
// bootJar: 打包的是可执行的jar, 模块只是依赖文件, 并不需要, 可以将其禁用, 否者 build 时会出错获取不到
bootJar {
enabled = false
}
dependencies {
compileOnly 'org.projectlombok:lombok'
}
可执行jar
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'com.lz.auto-test:lz-core:0.0.1-SNAPSHOT'
}