You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradle的ShadowJar任务中重命名依赖内的SO文件?

在ShadowJar任务中重命名依赖文件的实现方法

完全可以在ShadowJar任务中实现这个需求,只需要在现有配置基础上添加文件重命名规则即可。修改后的Kotlin Gradle配置如下:

named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") {
    archiveClassifier.set("")
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    
    // 针对目标文件添加重命名逻辑
    rename { filePath ->
        if (filePath == "linux/x64/org/lwjgl/liblwjgl.so") {
            "linux/x64/org/lwjgl/liblwjgl3.so"
        } else {
            filePath
        }
    }
}

说明

ShadowJar任务提供的rename方法会遍历所有待打包的文件路径:

  • 当检测到路径完全匹配linux/x64/org/lwjgl/liblwjgl.so时,会将其替换为指定的新路径
  • 其他文件的路径保持不变,正常打包到最终Jar包中

内容的提问来源于stack exchange,提问作者Wyvest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:15:38