方法一:用原生的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包时会报错:找不到主清单属性!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐