首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是弹簧引导配置处理器?为什么人们会把图书馆排除在外呢?为什么它在依赖树中是不可见的?

什么是弹簧引导配置处理器?为什么人们会把图书馆排除在外呢?为什么它在依赖树中是不可见的?
EN

Stack Overflow用户
提问于 2018-12-10 13:50:04
回答 2查看 61.1K关注 0票数 65

引言

因此,我注意到jhipster项目的gradle文件中有以下一行:

代码语言:javascript
运行
复制
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临时依赖项(库/jar/ vaadin json)未被排除

问题

现在我有了以下问题:

  • spring启动配置处理器依赖项是做什么的?
  • 为什么有时需要从处理器中排除依赖项?
  • 为什么处理器不一定出现在mvn依赖树中?
  • 为什么在很难排除依赖的情况下,处理器会使用排除?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-10 14:46:48

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

自SpringBoot1.5.10以来,排除不再是必要的,因为com.vaadin.external.google:android-json不再是spring-boot-configuration-processor的依赖项。

票数 98
EN

Stack Overflow用户

发布于 2018-12-10 16:06:34

spring启动配置处理器依赖项是做什么的?

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

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

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

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

jhipster-sample-app上对我来说是这样的。您大概是在引用对相关问题的评论,指出android-json库不在树中。我已经问过了。

为什么在很难排除依赖的情况下,处理器会使用排除?

这是一个依赖冲突问题--和其他任何问题一样--实际上,处理器引入了关键依赖项(或者更确切地说,就像@安迪·威尔金森指出的那样,com.vaadin.external.google:android-json不再被处理器使用)。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53707080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档