我在https://start.Spring.io/上创建了新的Gradle Spring Boot应用程序
包装器属性中有gradle-4.10.2-bin.zip
。
已不推荐在编译类路径上检测批注处理器。Gradle5.0将忽略编译类路径上的注释处理器。在编译类路径上检测到以下批注处理器:“org.springframework.boot.configurationprocessor.configurationMetadataAnnotationProcessor”和“org.hibernate.jpamodelgen.jpametamodelEntityProcessor”和“lombok.launch.annotationProcessorHider$annotationProcessor”和“lombok.launch.annotationProcessorHider$claimingProcessor”。请将它们添加到注释处理器路径中。如果不打算使用注释处理器,可以使用'-proc:none'编译器参数忽略它们。
关于问题2):您似乎在错误的(不推荐的)配置中添加了Lombok
依赖项(compile
,也许是?):对于这种依赖项,您应该使用专用的annotationprocessor
配置:
dependencies {
/* -------------- Lombok -----------------------------------------------------*/
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
testCompileOnly "org.projectlombok:lombok:${lombokVersion}"
testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}"
}
对于问题1):Gradle版本5.0是最近的版本,我想Spring初始化器还没有更新到默认情况下使用这个版本。
编辑:请参见与Gradle 5使用相关的开放公关:https://github.com/spring-io/initializr/issues/741
现在编辑2(04/04/2019)Spring Initializr使用Gradle version 5.2.1生成Gradle项目。
我喜欢使用Lombok,但它需要在IDEs设置中启用注释处理器。因为开发人员使用不同的IDE,CI/CD有自己的编译流程,而且我真的不想解释初级开发人员为什么需要选中此复选框,我正在寻找一种方法来避免选中此复选框。理想的情况下,我想让一个年轻人来运行git clone,然后/格拉德卢跑。Gradle是否可以完全设置注释处理器(无需手动单击)? 如果它能在比IntelliJ IDEA更多的地方工作,
问题内容: 升级到gradle 4.7之后,我以前没有警告的版本现在发出以下警告: 在编译类路径上检测到以下注释处理器:“ lombok.launch.AnnotationProcessorHider $ AnnotationProcessor”和“ lombok.launch.AnnotationProcessorHider $ ClaimingProcessor”。 不建议在编译类路径上检测注
升级到4.7级后,我以前的无警告版本现在发出以下警告: 在编译类路径上检测到以下注释处理器:'lombok.launch.annotationProcessorHider$annotationProcessorHider'和'lombok.launch.annotationProcessorHider$ClaimingProcessor'。不赞成在编译类路径上检测注释处理器,Gradle5.0将忽
我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?
需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件:
问题内容: 我想编写自定义的Lombok注释处理程序。我知道http://notatube.blogspot.de/2010/12/project-lombok- creating-custom.html 。但是当前的lombok jar文件并不包含许多.class文件,而是包含名为.SCL.lombok的文件。 我发现.SCL.lombok文件是.class文件,Lombok的生成脚本在生成ja