从外部Gradle脚本文件应用时遇到插件导入错误 . 例如:在文件 gradle/lambda.gradle 中:
apply plugin: 'base'
apply plugin: 'jp.classmethod.aws.lambda'
import com.amazonaws.services.lambda.model.InvocationType;
import jp.classmethod.aws.gradle.lambda.AWSLambdaDeleteFunctionTask;
import jp.classmethod.aws.gradle.lambda.AWSLambdaInvokeTask;
import jp.classmethod.aws.gradle.lambda.AWSLambdaMigrateFunctionTask;
import jp.classmethod.aws.gradle.lambda.AWSLambdaPublishVersionTask;
import jp.classmethod.aws.gradle.lambda.AWSLambdaCreateAliasTask;
import jp.classmethod.aws.gradle.lambda.AWSLambdaUpdateAliasTask;
import jp.classmethod.aws.gradle.lambda.VpcConfigWrapper
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "jp.classmethod.aws:gradle-aws-plugin:0.38"
}
}
在 build.gradle 文件中,我通过此方法应用外部脚本:
apply from: 'gradle/lambda.gradle'
但它会产生关于插件导入的错误:
Plugin with id 'jp.classmethod.aws.lambda' not found.
可以通过在 build.gradle 文件中包含相同的buildscript代码块来解决它 .
这个问题的根本原因是什么?实现这一目标的推荐方法是什么?
1 回答
基于my answer here,您应该这样做:
编辑:由于导入它将无法工作 . 在
gradle/lambda.gradle
中需要classpath "jp.classmethod.aws:gradle-aws-plugin:0.38"
来解析import
,在build.gradle
中也需要_18693332_,因为插件jp.classmethod.aws.lambda
从此处应用(通过apply from
)