方法一:用原生的java-library打jar包:
plugins {
id 'java-library'
}
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
archiveFileName = '${fileName}'
manifest {
attributes 'Main-Class': "${mainClass}"
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
方法二: 利用shadow插件:
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
shadowJar {
archiveClassifier.set("${fileSuffix}")
manifest.attributes.put("Main-Class", "${mainClass}")
}
特别注意:一定要指定mainClass, 否则运行jar包时会报错:找不到主清单属性!