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

发布GitHub Package后无法正常使用的问题求助

发布到GitHub Packages的Katalon Studio SDK包无法正常使用问题

包的创建过程

我按照GitHub官方Gradle仓库指引将SDK包发布到GitHub Packages,已在本地环境变量中配置GITHUB_TOKEN和GITHUB_ACTOR。

项目的build.gradle配置如下:

plugins {
  id 'java'
  id 'maven-publish'
  id "com.katalon.gradle-plugin" version "0.1.1"
}

group = 'com.mikewarren.katalonstudiosdk'
version = '1.0'

dependencies {
  implementation 'com.github.javafaker:javafaker:1.0.2'
}

repositories {
    mavenCentral()
}

sourceSets {
    main {
        groovy {
            srcDirs = ['Keywords', 'Libs']
            excludes = ['CustomKeywords.groovy', "Temp*.groovy"]
        }
    }
    test {
        groovy {
            srcDirs = ['Include/scripts/groovy']
        }
    }
}

publishing {
    repositories { 
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/MikeWarren2014/KatalonStudioSDK")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
                password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
            }
        }
    }
    publications {
        gpr(MavenPublication) {
            artifactId = 'katalon-studio-sdk'
            from components.java
        }
    }
}

我还配置了GitHub Action用于发布包,但执行gradle clean publish --info时并未触发该Action。

使用包时遇到的问题

这是我发布的包,按照GitHub使用指引操作却遇到障碍。

消费项目的build.gradle配置如下:

plugins {
  id 'groovy'
  id "com.katalon.gradle-plugin" version "0.1.0"
}

repositories {
  maven {
      name = "GitHubPackages"
      url = uri("https://maven.pkg.github.com/MikeWarren2014/KatalonStudioSDK")
      credentials {
          username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
          password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
      }
  }
}

dependencies {
  implementation 'me.mikewarren.katalonstudiosdk:katalon-studio-sdk:1.0'
}

执行gradle clean build显示成功,但在项目中找不到katalon-studio-sdk-1.0.jar或katalon-studio-sdk-1.0-all.jar。由于这是Katalon Studio项目,我尝试执行gradle katalonCopyDependencies,却出现报错。在浏览器中访问相关URL,输入凭证后得到提示:

maven package "me.mikewarren.katalonstudiosdk.katalon-studio-sdk" does not exist under owner "MikeWarren2014"

更新:执行gradle tasks --all | grep publish后得到以下输出:

publish - Publishes all publications produced by this project.
publishAllPublicationsToGitHubPackagesRepository - Publishes all Maven publications produced by this project to the GitHubPackages repository.
publishGprPublicationToGitHubPackagesRepository - Publishes Maven publication 'gpr' to Maven repository 'GitHubPackages'.
publishGprPublicationToMavenLocal - Publishes Maven publication 'gpr' to the local Maven repository.
publishToMavenLocal - Publishes all Maven publications produced by this project to the local Maven cache.

问题分析与解决方案

1. 依赖坐标Group ID不匹配(核心问题)

发布包时,build.gradle中配置的group是com.mikewarren.katalonstudiosdk,但消费项目中依赖写的是me.mikewarren.katalonstudiosdk:katalon-studio-sdk:1.0——Group ID从com变成了me,这直接导致GitHub Packages找不到对应包,出现maven package does not exist的报错。

修复:修改消费项目的dependencies块,将依赖坐标改为:

implementation 'com.mikewarren.katalonstudiosdk:katalon-studio-sdk:1.0'

2. GitHub Action触发逻辑误解

本地执行gradle clean publish是在本地环境完成发布操作,不会触发GitHub Action。GitHub Action的触发需要依赖仓库的事件(比如代码推送到指定分支、创建标签、手动触发等),而非本地命令。

修复:

  • 检查你的GitHub Action配置文件(通常在.github/workflows/目录下),确保设置了正确的触发条件,例如:
    on:
      push:
        branches: [ main ]
      release:
        types: [ published ]
    
  • 触发Action的正确方式是满足配置的事件条件(比如推送代码到main分支),而非本地执行gradle命令。

3. Jar包找不到与katalonCopyDependencies报错

先解决依赖坐标的问题,执行gradle clean build --refresh-dependencies强制刷新依赖,确认包是否正常下载到本地仓库(默认路径为~/.m2/repository/com/mikewarren/katalonstudiosdk/katalon-studio-sdk/1.0/)。

如果坐标修正后katalonCopyDependencies仍报错,需要提供具体的错误日志,才能进一步排查Katalon Gradle插件的执行问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 08:27:05