如何使用shadowJar Gradle插件向JitPack发布Fat JAR(无需Maven Publish)
如何在JitPack上发布Shadow生成的Fat JAR
发布Fat JAR到JitPack确实有点反直觉——Shadow插件的文档没提JitPack适配,JitPack的文档也完全没覆盖Fat JAR的场景,踩坑太正常了。
核心问题是:JitPack默认会执行publishToMavenLocal任务来处理项目发布,但这个任务默认用的是普通构建出的JAR,而我们需要的是Shadow生成的Fat JAR;但JitPack的构建命令是不可自定义的,所以只能通过修改publishToMavenLocal的配置,让它关联Shadow的产物。
接下来直接上解决方案:
你只需要在Gradle构建脚本中做以下配置,确保发布任务使用Shadow生成的Fat JAR:
Groovy 版本配置
plugins { id 'java' id 'com.github.johnrengelman.shadow' version '7.1.2' // 请替换为最新稳定版本 id 'maven-publish' } // *关键配置*:让Maven发布任务指向shadowJar的输出 publishing { publications { mavenJava(MavenPublication) { artifact shadowJar // 指定用shadowJar生成的Fat JAR作为发布产物 } } }
Kotlin DSL 版本配置
plugins { java id("com.github.johnrengelman.shadow") version "7.1.2" `maven-publish` } publishing { publications { create<MavenPublication>("mavenJava") { artifact(tasks.shadowJar) } } }
配置完成后,JitPack在执行publishToMavenLocal时,Gradle会自动触发shadowJar任务生成Fat JAR,然后将这个Fat JAR作为发布产物处理,完全不需要你手动调整JitPack的构建命令。
内容的提问来源于stack exchange,提问作者fIwJlxSzApHEZIl
相关产品推荐
相关产品推荐

