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

升级Kotlin至1.8.20后,NexusDeploy发布任务执行失败求助

Kotlin 1.8.20升级后GitHub Action发布任务找不到Jar文件的解决办法

核心问题分析

升级Kotlin插件到1.8.20后,GitHub Action中发布任务找不到Jar文件但本地构建正常,大概率是硬编码路径未关联Gradle任务依赖或CI环境执行顺序/配置与本地不一致导致的。


1. 替换硬编码Jar路径为Gradle任务引用

不要直接指定固定路径的Jar文件,改用Gradle内置的jar任务输出,自动关联正确的工件位置,避免版本升级带来的路径变更:

publishing {
    publications {
        NexusDeploy(MavenPublication) {
            artifact jar // 直接引用jar任务的输出产物
        }
    }
}

如果需要自定义Jar文件名,在jar任务中配置即可:

jar {
    archiveBaseName = 'my-jar'
    archiveVersion = version
}

2. 确保发布任务依赖Jar构建流程

在GitHub Action的执行命令中,明确先执行build任务(包含Jar生成)再执行发布:

./gradlew build publish

也可以在Gradle脚本中显式添加任务依赖,强制发布前先完成Jar构建:

tasks.named('publishNexusDeployPublicationToNexusRepository') {
    dependsOn tasks.named('jar')
}

3. 对齐GitHub Action与本地的JDK环境

Kotlin 1.8.20对JDK版本有要求(需JDK 8及以上,推荐JDK 11/17),检查GitHub Action中使用的JDK版本是否与本地一致,可在Action中指定匹配版本:

- name: Set up JDK 17
  uses: actions/setup-java@v4
  with:
    java-version: '17'
    distribution: 'temurin'

4. 验证Jar任务的实际输出

在GitHub Action中添加调试步骤,确认Jar是否生成及实际路径:

./gradlew jar
ls -la build/libs/

这一步能快速定位Jar是否真的生成,以及路径是否符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:01:29