Java 哪个是支持';提供';方法?
我目前正在尝试将Project Lombok helper包含到我的Gradle项目中,但在我的build.Gradle中执行以下操作时,我遇到以下错误: 错误:(11,0)生成脚本错误,找到不受支持的Gradle DSL方法:“提供了() 可能的原因可能是:Java 哪个是支持';提供';方法?,java,gradle,build.gradle,lombok,Java,Gradle,Build.gradle,Lombok,我目前正在尝试将Project Lombok helper包含到我的Gradle项目中,但在我的build.Gradle中执行以下操作时,我遇到以下错误: 错误:(11,0)生成脚本错误,找到不受支持的Gradle DSL方法:“提供了() 可能的原因可能是: 在缺少该方法的情况下,您使用的是Gradle版本 您没有应用提供该方法的Gradle插件 或者构建脚本中存在错误 我当前的build.gradle文件: apply plugin: 'java' sourceCompatibilit
- 在缺少该方法的情况下,您使用的是Gradle版本
- 您没有应用提供该方法的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'
}
从2.12版开始,调用提供的范围
旧答案: 提供的范围在“war”插件(,providedCompile)中可用如果您不想使用“war”插件,还存在一个关于“提供的”范围的公开JIRA问题,建议的解决方法是创建您自己的配置:
configurations {
provided
}
并将其设置为与编译类路径一起使用:
sourceSets {
main {
compileClasspath += configurations.provided
}
}
检查你的应用程序级渐变文件。如果任何一行看起来像这样:
compile dependency.gson provided dependency.javaxAnnotation
compile dependency.gson
provided dependency.javaxAnnotation
按如下方式编辑:
compile dependency.gson provided dependency.javaxAnnotation
compile dependency.gson
provided dependency.javaxAnnotation
它应该可以工作。FWIW我刚刚添加了我安装的lombok.jar作为编译依赖项。这不完全一样,但它很管用,而我却无知到可以享受它你好@maaartinus也非常感谢你的评论。这似乎解决了这个问题——正确地构建了脚本,但无法编译,同时无法解析Lombok项目的注释符号。嘿@endriu_l谢谢你的回答,我尝试在我的另一个插件下面加上:“apply plugin:‘war’(不带双引号OFC),但仍然是同样的问题。我应该添加其他内容吗?@kapitanpattimura,在“war”插件中,这个范围称为“providedCompile”,所以只需将“provided”更改为“providedCompile”,一切都应该正常