繁体   English   中英

什么是spring-boot-configuration-processor? 人们为什么要从中排除图书馆? 为什么它在依赖树中不可见?

[英]What is the spring-boot-configuration-processor ? Why do people exclude libraries from it? Why is it invisible in dependency tree?

介绍

所以我注意到jhipster项目的gradle文件中的以下行:

annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor") {
        exclude group: 'com.vaadin.external.google', module: 'android-json'
    }

https://github.com/jhipster/jhipster-sample-app-gradle/blob/9e9c3db8f3bedba4b1efd85ecb6ff3f12a5f596a/build.gradle#L230

我们还在Maven中使用相同的配置来解决以下问题: Maven瞬态依赖(library / jar vaadin json)未被排除

问题

现在我有以下问题:

  • spring-boot-configuration-processor依赖有什么作用?
  • 为什么有时需要从处理器中排除依赖关系?
  • 为什么处理器不一定出现在mvn-dependency树中?
  • 为什么在排除依赖关系的情况下,处理器使用排除项?

spring-boot-configuration-processor是一个注释处理器,它生成有关应用程序中使用@ConfigurationProperties注释的类的元数据。 在编辑application.propertiesapplication.yaml文件时,IDE(Eclipse,IntelliJ或NetBeans)使用此元数据为属性提供自动完成和文档。 您可以在Spring Boot的参考文档的相关部分中了解更多相关信息。

从Spring Boot 1.5.10开始,不再需要排除,因为com.vaadin.external.google:android-json不再是spring-boot-configuration-processor的依赖项。

spring-boot-configuration-processor依赖有什么作用?

扫描构建中的库并查看它们使用的属性 ,以便通知IDE

为什么有时需要从处理器中排除依赖关系?

Maven库有时会发生冲突 - 你引用的那个库被JHipster排除,因为它在类路径中与JHipster的依赖项中的另一个库一起导致错误

为什么处理器不一定出现在mvn依赖:tree?

它适用于jhipster-sample-app 大概是你指的是关于链接问题评论,说明android-json库不在树中。 我问过那个问题。

为什么在排除依赖关系的情况下,处理器使用排除项?

这是一个依赖冲突问题,就像任何其他问题一样,只是处理器引入了密钥依赖(或者更确切地说,正如@ Andy Wilkinson指出com.vaadin.external.google:android-json不再被处理器)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM