当前位置: 首页 > 知识库问答 >
问题:

找不到id为'id'的插件(gradle自定义插件)

鲜于光辉
2023-03-14

我在Project中创建了一个简单的gradle插件。根据文档,它应该是好的,但当我尝试使用它时,我发现id为'show-date-plugin'的插件未找到。文档我指的是:https://docs.gradle.org/current/userguide/custom_plugins.html

您可以将插件的源代码放在rootprojectdir/buildsrc/src/main/groovy目录中。Gradle将负责编译和测试插件,并使其在构建脚本的类路径上可用。该插件对构建所使用的每个构建脚本都是可见的。但是,它在构建之外是不可见的,因此您不能在定义它的构建之外重用插件。

这是我的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'

那我做错了什么?

共有1个答案

鲜于高明
2023-03-14

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

您可以将buildsrc目录视为一个简单的子项目,还可以在其中创建一个build.gradle文件。如果不创建,则将使用隐式生成文件内容。

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

apply plugin: ShowDatePlugin
 类似资料:
  • 在以下任何源中未找到插件[id:'gradle.Plugin.com.onesignal.onesignal gradle Plugin']: Gradle Core插件(插件不在'org.gradle'命名空间) 插件库(插件依赖必须包括此源的版本号) 我的身材。格拉德尔: 我正在使用android studio Arctic 2020.3.1。渐变7.0.2

  • 问题内容: jenkins的新手,正在运行我的第一个版本。我正在使用gradle进行构建,但一直出现以下错误 我搜索了将近2天,并尝试安装其他android插件,但似乎无法解决此问题。 我已经在詹金斯的全局属性下设置了ANDROID_HOME变量。确保路径正确。 任何帮助将不胜感激。提前致谢 问题答案: 我已通过在bundle.gradle文件顶部添加以下代码来修复此问题 谢谢你的帮助 :)

  • (使用本指南:https://developer.android.com/topic/libraries/architecture/navigation/navigation-pass-data): 我收到此错误:

  • 我正在尝试使用Gradle在本地构建一个项目(https://github.com/fge/btf)。有一个插件“OSGi”正在使用,但每当我构建它,我得到错误的插件没有找到。我尝试过提供不同风格的OSGi,添加了存储库和依赖关系。仍然得到相同的错误。请帮帮忙。提前道谢。 失败:生成失败,出现异常。 > 其中:生成文件“/root/btf-1.2/Build.gradle”行:61 错误:在评估根

  • 我尝试使用Kotlin脚本将我的一个项目迁移到Gradle。 以下是我的步骤: 用这个替换 将gradle/包装器/gradle-wrapper.properties的更新为与此处相同 创建了相应的 设置到 此时Intellij检测到它并建议: 您可以将Gradle包装器配置为对源使用分发。它将为IDE提供Gradle API/DSL留档。 - gradle'hello-kotlin'项目刷新失败

  • 问题内容: 昨天我将Android Studio升级到了3.0版,但是我正在使用LibGdx,升级后无法构建我的项目。 当我尝试构建时,它给了我一个错误: 错误:(2,0)找不到ID为’jetty’的插件 我该如何解决? 问题答案: 目前已弃用的 html模块 已在Gradle 4.1版本中删除。 Android Studio 3.0使用和 LibGDX中尚不支持Gradle 4.1,对此存在一个