使用publishToMavenLocal后无法在.m2目录找到com/test文件夹
尝试通过终端命令或IntelliJ IDEA按钮执行publishToMavenLocal,但无法在默认本地Maven仓库路径User/.m2/下找到目标目录.m2/com/test。
当前build.gradle.kts配置:
plugins { kotlin("jvm") version "1.9.23" id("maven-publish") } group = "com.test" version = "0.1-SNAPSHOT"
已完成的检查:
- 已构建项目
- 反复核对目录名称
- 添加
maven-publish插件后已加载Gradle变更 - 分别使用终端命令和IDE按钮执行
publishToMavenLocal - 确认本地Maven仓库为默认路径
User/.m2/
执行publishToMavenLocal后的输出:
2:47:56 PM: Executing 'publishToMavenLocal'...
Task :publishToMavenLocal UP-TO-DATE
BUILD SUCCESSFUL in 2s
2:47:58 PM: Execution finished 'publishToMavenLocal'.
显式配置发布构件
仅启用maven-publish插件但未配置发布内容时,Gradle可能不会生成可发布的构件。在build.gradle.kts中添加以下配置:publishing { publications { create<MavenPublication>("maven") { from(components["java"]) } } }这段代码会将Kotlin JVM项目默认生成的Java组件作为Maven构件发布,包含jar包、POM文件等必要内容。
清理后重新发布
输出中UP-TO-DATE标识说明Gradle认为任务已完成,未执行实际发布操作。先执行清理再重新发布:- 终端执行:
./gradlew clean publishToMavenLocal - IDE中先运行
clean任务,再运行publishToMavenLocal
- 终端执行:
确认本地仓库实际路径
通过Gradle命令查看本地仓库的绝对路径,避免路径认知偏差:./gradlew properties | grep mavenLocalRepository根据输出的路径直接查找
com/test目录。检查构件是否生成
先执行build任务,查看项目build/libs目录下是否生成了对应版本的jar文件。如果没有jar文件,说明项目构建存在问题,需先排查编译错误等问题。检查目录权限
确认当前用户对User/.m2/目录有读写权限,权限不足会导致Gradle无法写入文件,进而无法生成目标目录。
内容的提问来源于stack exchange,提问作者Parsamlm

