V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sandman511
V2EX  ›  Java

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

  •  1
     
  •   sandman511 · 2019-10-18 09:20:40 +08:00 · 5485 次点击
    这是一个创建于 1897 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第一次用 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 里启用注解的勾已经点了
    lugeek
        1
    lugeek  
       2019-10-18 09:54:54 +08:00 via Android
    provideCompile 是 war 插件里面的,所以需要先 apply plugin: 'war' 来引入插件。
    sandman511
        2
    sandman511  
    OP
       2019-10-18 10:47:18 +08:00
    @lugeek

    plugins {
    id 'java'
    id 'war'
    }

    //下划线没了 但是仍然报提示找不到符号的错误 就是没有成功产生 setter 与 getter,var 也用不了
    //但是 import lombok.var;是没有报错的 @setter 等注解也没有报错
    Jrue0011
        3
    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
        4
    sandman511  
    OP
       2019-10-18 13:17:25 +08:00
    @Jrue0011 可以了 感谢!我的 dependencies 去 Maven Repository 粘贴的 居然不行,换了你这个就行了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:01 · PVG 04:01 · LAX 12:01 · JFK 15:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.