- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 gradle 4.7 项目时收到以下消息
The following annotation processors were detected on the compile classpath: 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor' and 'lombok.launch.AnnotationProcessorHider$ClaimingProcessor'. Detecting annotation processors on the compile classpath is
Deprecated and Gradle 5.0 will ignore them. Please add them to the annotation processor path instead. If you did not intend to use annotation processors, you can use the '-proc:none' compiler argument to ignore them.
运行时
gradlew build --warning-mode=all
在具有以下 Gradle 配置的项目上
compileOnly('org.projectlombok:lombok')
testCompileOnly('org.projectlombok:lombok')
正如警告所示,建议将它们放在 annotationProcessor
(和 testAnnotationProcessor
)配置上,以便与 gradle 5.0 兼容
annotationProcessor('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
但是,通过一个简单的测试:
@Slf4j
public class LombokTests {
@Test
public void lombokCompiles() {
log.info("foobar");
}
}
该配置失败:
> Task :compileTestJava FAILED
D:\Users\bobjones\repos\my-new-app\src\test\java\com\example\app\LombokTests.java:10: error: cannot find symbol
@Slf4j
^
symbol: class Slf4j
1 error
我错过了什么吗?
最佳答案
compileOnly
/testCompileOnly
配置annotationProcessor('org.projectlombok:lombok')
compileOnly('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
testCompileOnly('org.projectlombok:lombok')
<小时/>
根据documentation ,annotationProcessor 配置仍然需要 compileOnly
(以及用于测试类的 testCompileOnly
)配置才能运行。至于对增量注释处理的支持,Lombok 的实现者刚刚合并了对 master 的支持,但截至 2018 年 5 月 25 日尚未包含上线版本。
他们的最后一个版本 16.2.20 跨越提交直到 9th of Jan 2018 Gradle 更改已被拉入 15th of May 2018 上的 master 中所以我怀疑新版本距离发布不会太远,尽管他们的'Edgy'发行版不包含有关此功能的任何注释。
一个Gradle plugin is available by io.freefair它可以自动配置这些设置,并帮助使 lombok 保持最新(当然您可以自己覆盖 lombok 版本)。
关于gradle - annotationProcessor gradle 4.7+ 配置不运行 lombok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50519138/
我正在使用 gradle/querydsl 和 JPA 2.1。 我想使用 APT (QEntities) 生成 querydsl 元数据。 为此,我使用了 gradle-apt-plugin 和 g
以下是我的 build.gradle 文件。我的项目在本地编译(IntelliJ-IDEA 是我的 IDE),但是当我将它推送到 GitHub 时, travis-ci 构建失败。我的 gradle
我写了一个注解处理器。用户可以传递一个选项作为处理器的参数。我也可以在我的注解处理器中读取这个参数。到目前为止一切顺利,一切都按预期进行! 但是,我收到编译器的警告,即传递给注解处理器的选项尚未被任何
我有两个带有方法的类,我想将两个类的方法合并到一个类中。 @Service("ITestService") public interface ITest1 { @Export void m
我按照 JMH 主页中的说明创建了 maven 原型(prototype)项目。我收到“注释生成器抛出异常。java.lang.NullPointerException”当我对生成的项目进行 mave
这个问题已经有答案了: 已关闭13 年前。 Possible Duplicate: Plugging in to Java compilers 编辑 - 这似乎是 Plugging in to Jav
基于 ButterKnife lib,我升级到新版本8.5.1。我用过 compile 'com.jakewharton:butterknife:8.5.1' annotationProcesso
对于插桩测试,我有一个创建 TestComponent 的 TestApplication,但不再生成该文件(Error:/xxx/TestApplication.java: 16: 无法解析 imp
我有一个使用 AnnotationProcessor 处理的类。在此过程中,我有一个 javax.lang.model.element.Element 实例,我可以在其中通过 .getSimpleNa
我希望创建一个注释,它将测试带注释的类型(可能是接口(interface))及其所有子类型,如果任何测试的类型是没有无参数构造函数的具体类,则抛出编译错误。我能够测试实际带有注释的类型,没问题。测试子
这是我在向我的 android 项目添加新的 gradle 依赖项时遇到的以下错误。而且这个错误不是项目特定的。如果我在任何其他 android 项目中添加插件,我会遇到同样的错误 Error whi
我在 IntelliJ IDEA 中创建了简单的注释处理器,添加了注释配置文件,但我不明白如何运行它。我知道注释处理器在编译时工作,但我没有在输出中看到来自注释处理器信使的任何消息。 public c
我正在使用 java 注释处理器在编译时生成其他类。使用 gradle 构建时效果很好,但我无法让 IntelliJ 识别生成的类。每当我尝试在 IntelliJ 中构建项目时,它都会出错,说它找不到
我正在尝试导入 数据库流正如 their readme 中的建议.修改项目级 build.gradle 文件并尝试同步后,出现以下错误: Error:(27, 0) Could not find me
我正在寻找一种方法来检测一个类是否是从注释处理器中的另一个类/接口(interface)继承的。由于注释处理器在源代码上运行而不是运行时,因此无法使用 reflation API,我找到的唯一方法是:
我需要创建一个自定义注释,当该注释应用于方法时,会根据各种检查检查并验证输入参数(原始和非原始)。如果检查失败应该直接返回错误消息。 在搜索时,我在创建自定义注释时遇到了 AbstractProces
我正在编写自定义 AnnotationProcessor 并且需要访问在执行期间设置为 javac 的选项:例如-详细,-s,-d 正确的做法是什么?我不认为解析“sun.java.command”系
问题: 是否可以通过注释处理器访问使用 @Target(ElementType.TYPE_USE) 注释注释的元素? 是否可以通过注解处理器访问注解类型边界? 非常感谢我错过的相关文档链接。 上下文:
我只想在我的系统应用程序中使用 bufferknife 和 drag2,我已经使用命令 mm 构建了我的应用程序。 我已经尝试了所有可能的方法,但都失败了!我只通过谷歌搜索找到了以下 Android.
我正在使用 AndroidAnnotaion,但由于 Android Studio 2.3 和 Gradle 2.3.0,他们说 android-apt 已过时。而 annotationProcess
我是一名优秀的程序员,十分优秀!