gpt4 book ai didi

gradle - 未找到 ID 为 'id' 的插件(gradle 自定义插件)

转载 作者:行者123 更新时间:2023-12-03 04:59:25 25 4
gpt4 key购买 nike

我在项目中创建了一个简单的 gradle 插件。根据文档,它应该没问题,但是当我尝试使用它时,我得到了 Plugin with id 'show-date-plugin' not found.我指的是 Doc: https://docs.gradle.org/current/userguide/custom_plugins.html

You can put the source for the plugin in the rootProjectDir/buildSrc/src/main/groovy directory. Gradle will take care of compiling and testing the plugin and making it available on the classpath of the build script. The plugin is visible to every build script used by the build. However, it is not visible outside the build, and so you cannot reuse the plugin outside the build it is defined in.

这是我的build.gradle

plugins {
id 'java'
id 'groovy'
}

group 'info.garagesalesapp'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
mavenLocal()
}

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.12'
compile gradleApi()
compile localGroovy()
compile project(':json-display')
testCompile group: 'junit', name: 'junit', version: '4.12'
}
apply plugin: 'project-report'
apply plugin: 'show-date-plugin'

这是项目中的插入位置: enter image description here

那我做错了什么?

最佳答案

您没有遵循文档。引用中的路径是 rootProject/buildSrc/src/main/groovy,但您不使用 buildSrc 目录,而是将插件源代码包含到项目源中。由于这些源仅在执行特定的 compileJava/compileGroovy 时才构建,因此它们在构建脚本中不可用。

您可以将buildSrc 目录视为一个简单的子项目,您也可以在那里创建一个build.gradle 文件。如果您不创建,将使用隐式构建文件内容。

似乎插件 ID 不能用于 buildSrc 插件。需要通过指定实现类的全名(带包)来应用插件:

apply plugin: ShowDatePlugin

如果您的插件按预期工作,我建议将代码提取到一个单独的插件项目中以实现更好的可重用性。

关于gradle - 未找到 ID 为 'id' 的插件(gradle 自定义插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50648187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com