programing

spring-boot-configuration-processor란 무엇입니까?왜 사람들은 도서관에서 도서관을 제외할까?의존관계 트리에서는 왜 보이지 않는가?

bestprogram 2023. 3. 18. 09:28

spring-boot-configuration-processor란 무엇입니까?왜 사람들은 도서관에서 도서관을 제외할까?의존관계 트리에서는 왜 보이지 않는가?

서론

그래서 저는 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 과도 종속성(라이브러리/jar vaadin json)이 제외되지 않습니다.

문의사항

이제 다음과 같은 질문이 있습니다.

  • spring-boot-configuration-processor 의존관계는 어떤 역할을 합니까?
  • 프로세서에서 의존관계를 제외할 필요가 있는 이유는 무엇입니까?
  • 프로세서가 반드시 mvn 의존관계 트리에 표시되지 않는 이유는 무엇입니까?
  • 의존관계를 배제하기 어려운 상황에서 프로세서에서 제외를 사용하는 이유는 무엇입니까?

spring-boot-configuration-processor는, 애플리케이션내의 클래스에 관한 메타데이터를 생성하는 주석 프로세서입니다.@ConfigurationProperties이 메타데이터는 IDE(Eclipse, IntelliJ 또는 NetBeans)에 의해 사용되며 편집 시 속성에 대한 자동 완성 및 문서화를 제공합니다.application.properties그리고.application.yaml자세한 내용은 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 의존관계에 표시되지 않는 이유는 무엇입니까?

나한텐 그래jhipster-sample-app아마도 당신은 링크된 이슈에 대한 코멘트를 언급하고 있는 것 같습니다.android-json라이브러리가 트리에 없습니다.나는 그것에 대해 거기에 물었다.

의존관계를 배제하기 어려운 상황에서 프로세서에서 제외를 사용하는 이유는 무엇입니까?

이것은 다른 실제와 마찬가지로 의존성 충돌 문제입니다.그냥 프로세서가 키 의존성을 가져오고 있을 뿐입니다(또는 @Andy Wilkinson이 지적했듯이).com.vaadin.external.google:android-json프로세서에서 사용되지 않게 되었습니다.)

언급URL : https://stackoverflow.com/questions/53707080/what-is-the-spring-boot-configuration-processor-why-do-people-exclude-librarie