Tho*_*y84 5 android gradle android-gradle-plugin
我正在尝试生成第一个插件,但出现此错误:
无法找到 jar:file
org.gradle.api.plugins.InvalidPluginException 中指定的插件“common-plugin”的实现类“CommonPluginClass”:应用插件请求时发生异常[ id: '通用插件']

这是我的CommonPluginClass:
class CommonPluginClass: Plugin<Project> {
override fun apply(project: Project) {
project.task("hello") {
doLast {
println ("Hello from the CommonPluginClass")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这很简单。我的 build.gradle (约定)
plugins {
id 'groovy-gradle-plugin'
}
gradlePlugin {
plugins {
commonPlugin {
id = "common-plugin"
implementationClass = "CommonPluginClass"
}
}
}
Run Code Online (Sandbox Code Playgroud)
并进入settings.gradle(构建逻辑)
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
}
rootProject.name = "build-logic"
include(":convention")
Run Code Online (Sandbox Code Playgroud)
在 build.gradle (应用程序)中,我以这种模式调用插件:
plugins { id 'common-plugin' }
我的例外:
plugins你基本上应该通过改变你的块来让它工作build-logic/convention/build.gradle更改为如下所示来
plugins {\n id \'java-gradle-plugin\'\n id \'org.jetbrains.kotlin.jvm\' version \'1.6.21\'\n}\nRun Code Online (Sandbox Code Playgroud)\n我已复制您设置的相关部分,如下所示(未显示 Gradle Wrapper 文件):
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 build.gradle\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 build-logic\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 convention\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 build.gradle\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kotlin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 CommonPluginClass.kt\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 settings.gradle\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 settings.gradle\nRun Code Online (Sandbox Code Playgroud)\n这些文件的内容与您的问题中给出的内容相同,只是 I\xe2\x80\x99 更改了下面的文件。
\n这样,我就可以成功运行:./gradlew :app:hello
build-logic/convention/build.gradleplugins {\n id \'java-gradle-plugin\'\n id \'org.jetbrains.kotlin.jvm\' version \'1.6.21\'\n}\n\ngradlePlugin {\n plugins {\n commonPlugin {\n id = "common-plugin"\n implementationClass = "CommonPluginClass"\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nbuild-logic/convention/src/main/kotlin/CommonPluginClass.ktimport org.gradle.api.Project\nimport org.gradle.api.Plugin\n\nclass CommonPluginClass: Plugin<Project> {\n\n override fun apply(project: Project) {\n project.task("hello") { t ->\n t.doLast {\n println ("Hello from the CommonPluginClass")\n }\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nsettings.gradlepluginManagement {\n includeBuild(\'build-logic\')\n}\n\ninclude \':app\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2448 次 |
| 最近记录: |