一个关于 gradle 的报错,请问是哪里出了问题

2019-10-18 09:20:40 +08:00
 sandman511
第一次用 gradle
刚刚新建的项目 里面什么文件都没有,向 build.gradle 加入 lambok 的依赖,运行报错
* What went wrong:
A problem occurred evaluating root project 'gradledemo'.
> Could not find method providedCompile() for arguments [{group=org.projectlombok, name=lombok, version=1.18.10}] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

//build.gradle 是这样的 其中 providedCompile 关键词是灰色的 有下划虚线
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
}

//把 providedCompile 改成 compile 能构建成功,但是使用 @setter@getter 注解时,提示找不到符号
//同样代码使用 maven 就能成功
//请问是哪里没配置吗? IDEA 里启用注解的勾已经点了
5304 次点击
所在节点    Java
4 条回复
lugeek
2019-10-18 09:54:54 +08:00
provideCompile 是 war 插件里面的,所以需要先 apply plugin: 'war' 来引入插件。
sandman511
2019-10-18 10:47:18 +08:00
@lugeek

plugins {
id 'java'
id 'war'
}

//下划线没了 但是仍然报提示找不到符号的错误 就是没有成功产生 setter 与 getter,var 也用不了
//但是 import lombok.var;是没有报错的 @setter 等注解也没有报错
Jrue0011
2019-10-18 11:31:23 +08:00
lombok 官网文档的 gradle 配置是这样

repositories {
mavenCentral()
}

dependencies {
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
}
sandman511
2019-10-18 13:17:25 +08:00
@Jrue0011 可以了 感谢!我的 dependencies 去 Maven Repository 粘贴的 居然不行,换了你这个就行了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/610521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX