首页 > 解决方案 > spring-boot-autoconfigure-processor 的用途?

问题描述

目的是什么:

annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor"

无论有没有它,我的应用程序都可以正常工作。我创建的薄罐子在依赖项目中也可以正常工作。

我问这个是因为当我将它包含在本地 build.gradle 中时该行工作正常。但是一旦我将它推送到云端,我就会收到这个错误:

在 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象上找不到参数 [org.springframework.boot:spring-boot-autoconfigure-processor] 的方法 annotationProcessor()。

所以我想没有它。我没有看到对瘦 jar 或依赖项目的任何影响。

另外,这个页面说我在使用 Gradle 4.6 或更高版本时必须在 build.gradle 中使用 annotationProcessor。如果我在 Gradle 4.8 中使用 compileOnly 选项会怎样?

标签: spring-boot

解决方案


spring-boot-autoconfigure-processor是一个注释处理器,它生成文件META-INF/spring-autoconfigure-metadata.properties以包含在项目的 jar 中。此文件有助于缩短启动时间,但对于您的应用程序正常运行来说不是必需的。

文档

如果该文件存在,它将用于急切地过滤不匹配的自动配置,这将缩短启动时间。


推荐阅读