IntelliJ IDE 2018.3终极版&x2B;Gradle 5.2.1和compileOnly

IntelliJ IDE 2018.3终极版&x2B;Gradle 5.2.1和compileOnly,gradle,intellij-idea,Gradle,Intellij Idea,我想在IDEA中建立一个gradle 5项目。 lombok依赖项在build.gradle文件中被设置为compileOnly,运行它也可以从命令行和IDEA gradle工具中获得成功 “有趣的”事实是,lombok没有包含在源集中,所以我的lombok导入失败了 在现实中,这是行不通的。 有没有Gradle插件或解决此问题的想法?:) 谢谢 用户界面: 版本1 在产品代码和测试中使用compileOnly和annotationProcessor会导致 通过命令行,gradle能够成功地

我想在IDEA中建立一个gradle 5项目。 lombok依赖项在build.gradle文件中被设置为compileOnly,运行它也可以从命令行和IDEA gradle工具中获得成功

“有趣的”事实是,lombok没有包含在源集中,所以我的lombok导入失败了

在现实中,这是行不通的。 有没有Gradle插件或解决此问题的想法?:)

谢谢

用户界面:

版本1 在产品代码和测试中使用compileOnly和annotationProcessor会导致

  • 通过命令行,gradle能够成功地运行一切
  • 从观念上讲,这是不可能的,龙目山的进口正在失败
版本2 使用编译和注释处理器

  • 通过命令行,gradle能够成功地运行一切
  • 从理念上讲,进口没问题,一切都很好
dependencies{…compileOnly“org.projectlombok:lombok:${lombokVersion}”
annotationProcessor(“org.projectlombok:lombok:${lombokVersion}”)
testCompileOnly“org.projectlombok:lombok:${lombokVersion}”
testAnnotationProcessor(“org.projectlombok:lombok:${lombokVersion}”)…}

根据 您需要在build.gradle中写入

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.6'
    annotationProcessor 'org.projectlombok:lombok:1.18.6'
}
它适合我

根据 您需要在build.gradle中写入

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.6'
    annotationProcessor 'org.projectlombok:lombok:1.18.6'
}

它对我有效

您可以将IDEA版本升级到2019.1或使用4.x版本的Gradle。

您可以将IDEA版本升级到2019.1或使用4.x版本的Gradle。

是的,我的build.Gradle文件看起来像这样,它们都是在您编写时添加的,但IDE没有选择lombok,如果我使用
compileOnly
而不是
compile
。是的,我的build.gradle文件是这样的,它们都是在您编写时添加的,但是IDE没有选择lombok,如果我使用
compileOnly
而不是
compile
。在命令行中执行
/gradlew依赖项时,您是否在
compileClasspath
和/或
compileOnly
配置中看到
lombok
依赖关系?正如在下面的回答中所说,这应该在IDEA中起作用,没有其他需要配置的内容(仅使用IDEA 2018.3.4/lombok 1.18.6/Gradle 5.2.1进行了测试:无问题)。如果您在测试类中使用lombok注释,请记住将
lombok
依赖项添加到
testCompileOnly
testAnnotationProcessor
。您可以从命令行按梯度构建吗?我扩展了我的描述,因为我的主要问题不在于命令行。:)在使用./gradlew dependencies命令的情况下,一切正常,结果成功,在testCompileClasspath和testCompileOnly中都有lombok。但不是在IDEA获取的源代码集中,如果我试图从IDE运行测试,它会因导入问题而失败。可能是重复的,我昨天遇到了这个问题,在这里偶然发现了这个问题。我今天更新到v2019.1,它现在可以正确地显示所有内容。在命令行中执行
/gradlew dependencies
时,是否在
compileClasspath
和/或
compileOnly
配置中看到
lombok
依赖项?正如在下面的回答中所说,这应该在IDEA中起作用,没有其他需要配置的内容(仅使用IDEA 2018.3.4/lombok 1.18.6/Gradle 5.2.1进行了测试:无问题)。如果您在测试类中使用lombok注释,请记住将
lombok
依赖项添加到
testCompileOnly
testAnnotationProcessor
。您可以从命令行按梯度构建吗?我扩展了我的描述,因为我的主要问题不在于命令行。:)在使用./gradlew dependencies命令的情况下,一切正常,结果成功,在testCompileClasspath和testCompileOnly中都有lombok。但不是在IDEA获取的源代码集中,如果我试图从IDE运行测试,它会因导入问题而失败。可能是重复的,我昨天遇到了这个问题,在这里偶然发现了这个问题。我今天更新到v2019.1,它现在可以正确地显示所有内容。