我正在使用gradle在Kotlin中构建应用程序。
当我运行distTar
任务时,它成功构建了一个tar文件,但是没有包含应用程序本身。
我的build.gradle文件看起来像这样(有些缩水了,因为它最初来自多模块项目):
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.3.41' apply false
id 'org.jetbrains.kotlin.kapt' version '1.3.41' apply false
id 'org.jetbrains.kotlin.plugin.spring' version '1.3.41' apply false
id 'org.jetbrains.kotlin.plugin.allopen' version '1.3.41' apply false
id 'org.springframework.boot' version '2.1.7.RELEASE' apply false
}
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'org.jetbrains.kotlin.kapt'
apply plugin: 'org.jetbrains.kotlin.plugin.allopen'
apply plugin: 'org.jetbrains.kotlin.plugin.spring'
apply plugin: 'org.springframework.boot'
apply plugin: 'application'
repositories {
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
sourceCompatibility = '1.8.0'
compileKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
api 'org.jetbrains.kotlin:kotlin-reflect'
// a whole load more of dependencies
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
}
distTar {
archiveFileName = 'core.tar'
}
mainClassName = 'core.Application'
最终的tar归档文件包含一个lib文件夹,其中包含我的所有依赖关系,但不包含应用程序jar本身。