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

使用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'.

解决建议
  1. 显式配置发布构件
    仅启用maven-publish插件但未配置发布内容时,Gradle可能不会生成可发布的构件。在build.gradle.kts中添加以下配置:

    publishing {
        publications {
            create<MavenPublication>("maven") {
                from(components["java"])
            }
        }
    }
    

    这段代码会将Kotlin JVM项目默认生成的Java组件作为Maven构件发布,包含jar包、POM文件等必要内容。

  2. 清理后重新发布
    输出中UP-TO-DATE标识说明Gradle认为任务已完成,未执行实际发布操作。先执行清理再重新发布:

    • 终端执行:./gradlew clean publishToMavenLocal
    • IDE中先运行clean任务,再运行publishToMavenLocal
  3. 确认本地仓库实际路径
    通过Gradle命令查看本地仓库的绝对路径,避免路径认知偏差:

    ./gradlew properties | grep mavenLocalRepository
    

    根据输出的路径直接查找com/test目录。

  4. 检查构件是否生成
    先执行build任务,查看项目build/libs目录下是否生成了对应版本的jar文件。如果没有jar文件,说明项目构建存在问题,需先排查编译错误等问题。

  5. 检查目录权限
    确认当前用户对User/.m2/目录有读写权限,权限不足会导致Gradle无法写入文件,进而无法生成目标目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:44:55