반응형
그니_
삽질탐방기
그니_
  • 분류 전체보기 (24)
    • 개발 (15)
    • ETC (1)
    • 트러블슈팅 & 삽질기록 (7)
    • 성능개선 (1)

인기 글

최근 글

최근 댓글

태그

  • 마이크로소프트 ai tour
  • spring docker
  • chatgpt 히스토리 삭제
  • chatgpt 채팅 삭제
  • easyrandom
  • chatgpt 정리
  • java
  • 네트워크
  • chatgpt 기록 삭제
  • chatgpt 확장 추천
  • spring log
  • springboot
  • chatgpt 확장 프로그램
  • GPT 플러그인
  • Spring
  • index
  • db
  • timeunit
  • spring docker compose
  • Database
hELLO · Designed By 정상우.
그니_

삽질탐방기

트러블슈팅 & 삽질기록

Spring Boot 3.4.3에서 Auto-configuration이 동작하지 않는 문제 해결

2025. 3. 9. 18:10
반응형

문제 상황

Spring Boot 3.4.3에서 라이브러리를 개발하면서 META-INF/spring.factories에 EnableAutoConfiguration을 등록했지만, 자동 설정이 적용되지 않았습니다......

문서를 찾아보니 Spring Boot 2.7 Release Notes와 Spring Boot 3.0 Migration Guide에서 관련 내용을 다루고 있었습니다.

 

원인 분석

Spring Boot 2.7에서 변경된 Auto-configuration 등록 방식

기존에는 spring.factories에 자동 구성 클래스를 쉼표로 구분하여 등록했지만, Spring Boot 2.7부터는 새로운 방식이 추가되었습니다.

  • 기존 방식: spring.factories에서 org.springframework.boot.autoconfigure.EnableAutoConfiguration 키 아래 등록하는 방식
  • 새로운 방식: META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일에 한 줄씩 등록
  • Spring Boot 2.7에서는 두 방식 모두 사용할 수 있었으며, 중복이 있을 경우 자동으로 정리

Spring Boot 2.7에서는 호환성을 위해 기존 방식과 신규 방식으로도 등록할 수 있었습니다.

Spring Boot 2.7 Release Notes

 

Spring Boot 2.7 Release Notes

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. - spring-projects/spring-boot

github.com

 

Spring Boot 3.0부터 기존 방식 제거

Spring Boot 3.0부터는 spring.factories에서 EnableAutoConfiguration 키를 이용한 등록이 삭제되었습니다.

  • Spring Boot 2.7에서는 spring.factories와 AutoConfiguration.imports 두 방식이 모두 가능
  • Spring Boot 3.0부터는 AutoConfiguration.imports만 지원

Spring Boot 3.0 Migration Guide

 

Spring Boot 3.0 Migration Guide

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. - spring-projects/spring-boot

github.com

 

 

변경 사항 정리

Spring Boot 버전지원 방식

2.6 이하 spring.factories 만 지원됩니다.
2.7 spring.factories + AutoConfiguration.imports (둘 다 사용 가능)
3.0 이상 AutoConfiguration.imports 만 지원됩니다. (spring.factories 삭제)

Spring Boot 3.x에서는 기존 spring.factories 방식이 더 이상 동작하지 않습니다.

이제는 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일을 작성해 사용해야 합니다.

 

해결 방법

기존 방식 (Spring Boot 3.x에서 지원되지 않음)

resources/META-INF/spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.gnnny.deadlock4j.spring.boot.autoconfigure.DeadlockBusterAutoConfig
 
 

새로운 방식 (Spring Boot 3.x에서 적용 가능)

resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

com.gnnny.deadlock4j.spring.boot.autoconfigure.DeadlockBusterAutoConfig

Spring Boot 3.x부터는 spring.factories에 등록하는 방식이 아예 동작하지 않습니다.

AutoConfiguration.imports 파일을 만들고, 여기에 한 줄씩 등록하면 해결됩니다.

 

결론

Spring Boot 3.x에서는 기존 spring.factories 방식이 더 이상 지원되지 않습니다.

3.x 이상버전에선 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일을 사용해야 합니다.

역시 안될땐 문서를 찾아보기.....ㅎㅎ

 

참고 문서

  • Spring Boot 2.7 Release Notes
  • Spring Boot 3.0 Migration Guide
 

Spring Boot 3.0 Migration Guide

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. - spring-projects/spring-boot

github.com

 

 

Spring Boot 2.7 Release Notes

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. - spring-projects/spring-boot

github.com

 

반응형
저작자표시 (새창열림)

'트러블슈팅 & 삽질기록' 카테고리의 다른 글

엘라스틱서치 index_closed_exception 트러블슈팅  (0) 2026.03.29
Apache HTTPD 버전 업그레이드 중 MPM 이슈와 해결 과정  (5) 2025.07.20
IntelliJ 특정 버전 JDK 21 사용 시 컴파일 오류  (2) 2025.02.22
[spring] gradle build fail  (0) 2023.10.18
[mac] 문제가 발생했기 때문에 컴퓨터를 종료했습니다. 경고창 뜨는 경우 대처법  (2) 2023.09.07
    '트러블슈팅 & 삽질기록' 카테고리의 다른 글
    • 엘라스틱서치 index_closed_exception 트러블슈팅
    • Apache HTTPD 버전 업그레이드 중 MPM 이슈와 해결 과정
    • IntelliJ 특정 버전 JDK 21 사용 시 컴파일 오류
    • [spring] gradle build fail
    그니_
    그니_
    머리속에서만 존재하는 내용을 글로 정리

    티스토리툴바