自己解决了,不要用gradle的jar,而用另一个插件进行打包:
plugins {
id 'java'
id 'application'
id 'org.jetbrains.kotlin.jvm' version '1.3.72'
id "org.jetbrains.kotlin.kapt" version "1.3.72"
// 就是这个插件
id "com.github.johnrengelman.shadow" version "5.2.0"
}
group 'com.dennis'
version '1.0-SNAPSHOT'
repositories {
mavenLocal()
mavenCentral()
}
application {
mainClassName = 'com.dennis.RobotClientKt'
}
//禁掉jar task
jar.enabled = false
shadowJar {
baseName = 'robot'
//classifier是生成jar包的后缀
classifier = null
version = '1.0.0'
manifest {
// 它指定的mainclass就找得到,奇怪
attributes 'Main-Class': 'com.dennis.RobotClientKt'
}
}
assemble.dependsOn(shadowJar)
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'io.netty', name: 'netty-all', version: '4.1.42.Final'
compile group: 'org.eclipse.milo', name: 'sdk-client', version: '0.4.1'
compile group: 'org.eclipse.milo', name: 'sdk-server', version: '0.4.1'
compile group: 'org.eclipse.milo', name: 'sdk-core', version: '0.4.1'
compile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: '1.3.72'
compile group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: '1.3.72'
compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: '1.3.5'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
compile group: 'log4j', name: 'log4j', version: '1.2.17'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.30'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…