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

kap*_*ura 30 java gradle lombok build.gradle

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

错误:(11,0)构建脚本错误,找不到支持的Gradle DSL方法:'provided()'!

可能的原因可能是:

  • 您正在使用不存在该方法的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'
}
Run Code Online (Sandbox Code Playgroud)

end*_*u_l 44

从版本2.12开始,provided调用范围compileOnly


老答案:

"war"插件中提供了范围(http://www.gradle.org/docs/current/userguide/war_plugin.html,edledCompile)如果你不想使用'war'插件,那么还有一个关于"提供"范围http://issues.gradle.org/browse/GRADLE-784打开了JIRA问题,建议的解决方法是创建自己的配置:

configurations {
   provided
}
Run Code Online (Sandbox Code Playgroud)

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

sourceSets {
    main {
        compileClasspath += configurations.provided 
    }
}
Run Code Online (Sandbox Code Playgroud)