Jitpack插件库发布失败:/tmp目录无Gradle构建文件
问题
我尝试在Jitpack上发布一个插件库,所有Gradle任务都执行成功了,但发布环节退出并抛出以下错误:
FAILURE: Build failed with an exception. * What went wrong: Directory '/tmp' does not contain a Gradle build. A Gradle build should contain a 'settings.gradle' or 'settings.gradle.kts' file in its root directory. It may also contain a 'build.gradle' or 'build.gradle.kts' file. To create a new Gradle build in this directory run 'gradle init' For more information about the 'init' task, please refer to https://docs.gradle.org/8.5/userguide/build_init_plugin.html in the Gradle documentation. For more details on creating a Gradle build, please refer to https://docs.gradle.org/8.5/userguide/tutorial_using_tasks.html in the Gradle documentation. * Try: > Run gradle init to create a new Gradle build in this directory. > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Get more help at https://help.gradle.org. BUILD FAILED in 1s 2024-01-27T21:01:40.451451802Z Exit code: 0 ⚠️ ERROR: No build artifacts found
我的自定义发布配置如下:
jdk: - openjdk21 before_install: - sdk install 21.ea.35-open - sdk use java 21.ea.35-open - sdk install gradle 8.5 - sdk use gradle 8.5 install: make publish
解决方案
- 检查Makefile的publish任务:确认
make publish执行的Gradle命令没有切换到/tmp目录,所有构建操作必须在项目根目录下进行,否则Jitpack会找不到Gradle配置文件。 - 简化JDK/Gradle配置:Jitpack自带对应版本的JDK和Gradle,不需要手动用sdkman安装,删除
before_install里的所有步骤,直接通过jdk字段指定版本即可,避免环境冲突。 - 确认Gradle发布配置:在项目构建脚本(
build.gradle/build.gradle.kts)中,确保已应用maven-publish插件,并且正确配置了publication,确保构建后会在build/libs或build/publications目录生成对应的jar和pom文件。 - 直接使用Gradle命令替代make:修改Jitpack配置,直接调用Gradle的发布任务,避免makefile带来的路径问题,示例配置如下:
jdk: openjdk21 install: - ./gradlew publish
内容的提问来源于stack exchange,提问作者Elias Meireles
相关产品推荐
相关产品推荐

