【发布时间】:2018-04-15 04:22:56
【问题描述】:
从外部 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 代码块来解决。
这个问题的根本原因是什么? 实现此目标的推荐方法是什么?
【问题讨论】: