코딩/sparta TIL

하... 어제까지 잘 되던 모듈 빌드 및 도커 띄우기가 갑자기 메인을 못찾고 에러 남...

americanoallday 2025. 6. 14. 00:36

이거 해결한다고 4시간동안 ㅠㅠ

 

정리하면

핵심 문제들

  1. 메인 클래스 이름 불일치
    • 루트 build.gradle: com.smeem.bootstrap.SmeemBootstrapApplication
    • 실제 클래스: com.example.Main
    • 이게 원래 ClassNotFoundException의 직접적 원인
  2. 멀티모듈 프로젝트 구조 혼란
    • 루트에서 bootJar { enabled = false }
    • 서브모듈에서 개별 빌드해야 하는데 설정이 꼬여있었음
  3. Gradle 플러그인 설정 문제
    • application 블록을 사용했는데 플러그인이 제대로 적용 안됨
    • checkstyle 설정 경로 문제

해결 과정

  1. 실제 메인 클래스 위치 확인 (com.example.Main)
  2. 멀티모듈 구조에서 개별 빌드로 전환
  3. Docker 컨텍스트를 cluvr-chat 모듈로 변경
  4. build.gradle 설정 정리

핵심은 멀티모듈 Spring Boot 프로젝트에서 각 모듈이 독립적으로 실행 가능한 JAR를 만들 때의 설정 복잡성이었네요. 이런 구조에서는 각 모듈의 build.gradle이 완전히 독립적이어야 합니다!

앞으로 비슷한 문제가 생기면 메인 클래스 경로부터 차근차근 확인하시면 됩니다 👍