Spring boot 如何配置';mainClassName';对于Kotlin Gradle多模块项目中的Spring Boot应用程序?
我在一些模块中使用了Spring引导 我在项目的根Spring boot 如何配置';mainClassName';对于Kotlin Gradle多模块项目中的Spring Boot应用程序?,spring-boot,kotlin,gradle,Spring Boot,Kotlin,Gradle,我在一些模块中使用了Spring引导 我在项目的根build.gradle中使用'org.springframework.boot'和'io.spring.dependency management'插件,除了提供bootRun任务之外,它还提供了 好的,我需要如下配置mainClassName(或入口点): springBoot { mainClassName = 'de.shinythings.hexagon.HexagonApplicationKt' } 虽然这在包含实际Spri
build.gradle
中使用'org.springframework.boot'
和'io.spring.dependency management'
插件,除了提供bootRun
任务之外,它还提供了
好的,我需要如下配置mainClassName
(或入口点):
springBoot {
mainClassName = 'de.shinythings.hexagon.HexagonApplicationKt'
}
虽然这在包含实际Spring启动应用程序的子项目中起作用,但在根项目中不起作用
我希望能够在根项目中配置它,因为我希望能够使用/gradlew bootRun
而不是/gradlew配置:bootRun
运行我的项目
其他任务,如/gradlew build
或/gradlew test
工作正常
下面是根项目的build.gradle
():
在子项目/模块中,此设置起作用():
要配置mainClassName
根目录的项目build.gradle
,我必须做什么
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.4.10'
id 'org.springframework.boot' version '2.3.4.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
implementation project(':configuration')
}
springBoot {
mainClassName = 'de.shinythings.hexagon.HexagonApplicationKt'
}
subprojects {
group = 'de.shinythings.hexagon'
version = '0.0.1-SNAPSHOT'
repositories {
mavenCentral()
}
ext {
mockKVersion = '1.10.2'
}
apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'io.spring.dependency-management'
dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
dependencyManagement {
imports {
mavenBom('org.springframework.boot:spring-boot-dependencies:2.3.4.RELEASE')
}
}
compileKotlin {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
freeCompilerArgs = ["-Xjsr305=strict"]
allWarningsAsErrors = true
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
freeCompilerArgs = ["-Xjsr305=strict"]
allWarningsAsErrors = true
}
}
}
plugins {
id 'org.springframework.boot'
id 'org.jetbrains.kotlin.plugin.spring' version '1.4.10'
}
dependencies {
implementation project(':common')
implementation project(':application')
implementation project(':adapters:persistence')
implementation project(':adapters:web')
implementation 'org.springframework.boot:spring-boot-starter'
implementation('com.h2database:h2')
}
springBoot {
mainClassName = 'de.shinythings.hexagon.HexagonApplicationKt'
}