哪个是支持“提供”方法的正确Gradle插件?

2022-09-01 11:53:28

我目前正在尝试将龙目岛项目助手包含在我的Gradle项目中,但是在我的build.gradle中遵循他们对Gradle的说明时,我收到以下错误:

错误:(11, 0) 生成脚本错误,发现不受支持的 Gradle DSL 方法:“提供()”!

可能的原因可能是:

  • 您正在使用没有该方法的Gradle版本
  • 您没有应用提供该方法的Gradle插件
  • 或者构建脚本中存在错误

我当前的 build.gradle 文件:

apply plugin: 'java'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    provided "org.projectlombok:lombok:1.14.4"
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

答案 1

从 2.12 版开始,作用域称为 compileOnlyprovided


旧答案:

如果范围在“war”插件中可用(http://www.gradle.org/docs/current/userguide/war_plugin.html,提供Compile)如果您不想使用“war”插件,则还有一个关于“提供”范围的开放JIRA问题 http://issues.gradle.org/browse/GRADLE-784,建议的解决方法是创建您自己的cofiguration:

configurations {
   provided
}

并将其设置为与编译类路径一起使用:

sourceSets {
    main {
        compileClasspath += configurations.provided 
    }
}

答案 2

检查您的应用级 gradle 文件。如果任何一行如下所示:

compile dependency.gson provided dependency.javaxAnnotation

像这样编辑它:

compile dependency.gson 
provided dependency.javaxAnnotation

它应该有效。


推荐