반응형

별생각 없이.. 테스트 용, spring boot 웹 어플리케이션 하나 만들었는데, pc 에 설치 된 tomcat 에서 실행이 안되어, 반나절을 이것 저것 해봤는데.. 절대, tomcat 문제도 아니고 spring 어플리케이션 내, 오류도 아니였다.

버전 문제였음.

  1. spring boot 3.3.10
  2. apache-tomcat-9.0.104-windows-x64 

별별 설정을 다 찾아 봤는데.. 마지막으로 혹시나 하는 마음에 ChatGPT 에게 물어보니.. ㅠㅠ...

 

💥 문제 원인: Spring Boot 3.x 는 Jakarta EE 10 기반, 하지만 Tomcat 9.x 는 Jakarta EE 8까지만 지원


✳️ Spring Boot 3.x → Jakarta EE 10 기반

Spring Boot 3.0부터는 기존 javax.* 패키지를 버리고 → jakarta.* 네임스페이스로 완전히 전환되었습니다.

❌ Tomcat 9.x → Jakarta EE 8까지만 지원

Tomcat 9.x는 javax.servlet.*, javax.el.*, javax.websocket.* 등 이전 네임스페이스 기반이고,
Spring Boot 3.x에서 생성된 WAR 파일을 실행하면 서블릿 API 호환 오류가 발생하거나
애플리케이션이 아예 실행되지 않는 경우가 발생합니다.


✅ 해결 방법 2가지

▶️ 방법 1: Tomcat 10.1+ 설치 (권장)

Tomcat 10.1부터 Jakarta EE 10을 공식 지원하므로 Spring Boot 3.x WAR 파일을 정상적으로 실행할 수 있습니다.

Tomcat 10.0은 변환 브릿지 버전이라 10.1 이상을 추천드립니다.


▶️ 방법 2: Spring Boot 버전을 2.7.x로 다운그레이드 (비추천)

  • Spring Boot 2.7.x는 javax.* 기반이므로 Tomcat 9.x에서 호환됩니다.
  • 하지만 최신 기능과 보안 패치를 놓치게 되므로 권장하지 않아요.

📌 결론

Spring Boot 3.3.10 + Tomcat 9.x = ❌ 호환 불가
Spring Boot 3.3.10 + Tomcat 10.1.x = ✅ 정상 작동

 

 

나의 선택은 Tomcat upgrade..10.1 ... 업그레이드 하자마자.. hello 아흑..

반응형
반응형

꽤 높은 버전의 블루투스 버전을 지원하는 기기를 사용하면 상관이 없지만, 4.0 미만 버전의 블루투스 칩이 들어가 있는 기기를 사용하면, 어떤 무선코덱을 지원하는지 궁금해서, #chatGPT 를 이용하여 검색 및 정리를 하였습니다. 

 

블루투스 버전에 따라 지원되는 오디오 코덱이 다를 수 있습니다. 블루투스 버전과 코덱 지원 여부를 아래에 정리해 보겠습니다.

블루투스 버전과 코덱 지원

  1. 블루투스 2.0
    • SBC: 기본적으로 모든 블루투스 오디오 장치에서 지원.
  2. 블루투스 2.1 + EDR
    • SBC: 기본 지원.
    • aptX: 일부 장치에서 지원 시작.
  3. 블루투스 3.0
    • SBC: 기본 지원.
    • aptX: 일부 장치에서 지원.
    • aptX-LL: 일부 장치에서 지원.
  4. 블루투스 4.0
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 일부 장치에서 지원.
  5. 블루투스 4.1
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 일부 장치에서 지원.
    • LDAC: 일부 장치에서 지원 시작.
  6. 블루투스 4.2
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 더 많은 장치에서 지원.
    • LDAC: 일부 장치에서 지원.
  7. 블루투스 5.0 (Hiby Digital M300 DAP 지원 버전)
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 더 많은 장치에서 지원.
    • aptX Adaptive: 일부 장치에서 지원 시작.
    • LDAC: 더 많은 장치에서 지원.
  8. 블루투스 5.1
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 더 많은 장치에서 지원.
    • aptX Adaptive: 더 많은 장치에서 지원.
    • LDAC: 많은 장치에서 지원.
  9. 블루투스 5.2
    • SBC: 기본 지원.
    • aptX: 많은 장치에서 지원.
    • aptX-LL: 많은 장치에서 지원.
    • aptX-HD: 더 많은 장치에서 지원.
    • aptX Adaptive: 많은 장치에서 지원.
    • LDAC: 많은 장치에서 지원.
    • LC3 (Low Complexity Communication Codec): 새로운 고효율 코덱, 블루투스 LE Audio에서 사용.

요약

  • SBC는 모든 블루투스 버전에서 기본적으로 지원됩니다.
  • aptX 계열 코덱은 블루투스 2.1부터 지원되기 시작했으며, 블루투스 4.0 이후 많은 장치에서 널리 지원됩니다.
  • aptX-HDaptX Adaptive는 블루투스 4.2 이상에서 점차 지원되기 시작하며, 블루투스 5.0 이상에서 주로 사용됩니다.
  • LDAC는 블루투스 4.1 이상에서 일부 장치에서 지원되기 시작했고, 블루투스 5.0 이상에서 더 널리 지원됩니다.
  • LC3는 블루투스 5.2에서 새롭게 도입된 코덱으로, 블루투스 LE Audio에서 사용됩니다.

코덱 지원 여부는 블루투스 버전뿐만 아니라 장치 제조사의 구현 여부에 따라 다를 수 있습니다. 최신 블루투스 버전을 사용하는 장치일수록 다양한 고품질 오디오 코덱을 지원할 가능성이 높습니다.

 

개인적으로 오래된 mp3 나 모바일 전화기가 있는데, 위의 내용을 참고하여 사용해야 겠습니다. 우선, 요즘 제일 많이 사용하는, hiby m300 은 블루투스 버전 5.0 을 지원하네요, 제 스마트폰도 5.0 이고요. ^^

반응형
반응형

반응형

+ Recent posts