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

自定义Gradle Kotlin独立插件在其他项目应用时提示ID未找到

解决「Plugin with id 'my.id.license-tools' not found」问题

结合你的插件项目结构,我来帮你一步步排查这个常见的Gradle插件引用问题:

1. 先检查最容易踩坑的路径问题

你项目里写的META-INF.gradle-plugins是个致命笔误!Gradle识别插件ID的核心配置文件,必须放在src/main/resources/META-INF/gradle-plugins目录下(注意是斜杠/,不是点.)。如果目录名写错,Gradle根本找不到你的插件ID对应的配置文件,直接就会报找不到插件的错误。

2. 确认properties文件的内容正确性

打开my.id.license-tools.properties,里面必须准确指定插件的实现类全限定名,格式如下:

implementation-class=my.id.LicenseTools

要保证这里的类名和包名,和你LicenseTools.kt里的代码完全匹配。另外,你的插件类必须正确实现Gradle的Plugin<Project>接口,比如:

package my.id

import org.gradle.api.Plugin
import org.gradle.api.Project

class LicenseTools : Plugin<Project> {
    override fun apply(project: Project) {
        // 这里写你的插件逻辑
    }
}

3. 确保插件被正确发布到本地仓库

因为你是开发本地插件,必须先把它发布到本地Maven仓库,才能在其他项目里引用:

  • 在插件项目的build.gradle里添加发布配置(推荐用java-gradle-plugin简化流程):
    plugins {
        id 'java-gradle-plugin'
        id 'maven-publish'
        id 'org.jetbrains.kotlin.jvm' version '1.9.0'
    }
    
    // 用这个块声明插件,Gradle会自动帮你生成META-INF配置文件
    gradlePlugin {
        plugins {
            licenseTools {
                id = 'my.id.license-tools'
                implementationClass = 'my.id.LicenseTools'
            }
        }
    }
    
    publishing {
        repositories {
            mavenLocal() // 发布到本地Maven仓库
        }
    }
    
    version = '1.0.0' // 插件版本,后面引用要用到
    
  • 执行命令./gradlew publishToMavenLocal,把插件发布到本地仓库。

4. 消费项目正确引入插件

在要应用插件的项目中,需要做两步配置:

  • 在settings.gradle里添加本地仓库源,让Gradle能找到你的插件:
    pluginManagement {
        repositories {
            mavenLocal()
            gradlePluginPortal()
        }
    }
    
  • 在build.gradle里应用插件,注意版本号要和插件项目的version一致:
    plugins {
        id 'my.id.license-tools' version '1.0.0'
    }
    

额外小技巧

使用java-gradle-plugin插件后,你甚至可以不用手动创建META-INF/gradle-plugins下的properties文件——Gradle会根据gradlePlugin块的配置自动生成,彻底避免路径和内容写错的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:26:30