Skip to content

Conversation

@jungbin97
Copy link
Owner

@jungbin97 jungbin97 commented Jul 9, 2025

📝 개요 (Overview)

  • 단일 실행 가능 JAR 파일(Fat-JAR)로 패키징하고 배포할 수 있도록 지원하도록 Gradle Shadow 플러그인 추가하였습니다.
  • JAR 환경에서 정적 리소스(webapp)를 처리할 수 있도록 WebServerLauncher를 개선했습니다.
  • 또한, 컨텍스트 설정 로직을 리팩토링하고 기본 웰컴 페이지를 추가하였습니다.

📌 변경 사항 (Changes)

  • Gradle Shadow Plugin 추가
    • 의존성이 모두 포함된 단일 실행 가능 JAR를 생성하기 위해 shadow 플러그인을 추가
  • JAR 실행 환경 지원 (WebServerLauncher.java)
    • 애플리케이션 실행 환경(jar 또는 file)을 동적으로 감지하는 로직을 구현
    • jar 환경일 경우, 내장된 webapp 정적 리소스들을 실행 시점에 시스템 임시 디렉터리로 압축 해제하고, 그 경로를 웹 서버의 docBase로 사용
    • 애플리케이션 종료 시 압축 해제했던 임시 디렉터리를 깨끗하게 삭제하기 위해 Shutdown Hook을 등록하여 리소스 누수를 방지
  • 컨텍스트 설정 로직 개선 (ContextConfig.java, StandardContext.java)

✅ 테스트 방법 (Test Method)

  • 변경 사항을 어떻게 테스트했는지 작성합니다.
  • (예시)
    • 단위 테스트 (JUnit)
    • 통합 테스트 (Postman)
    • 로컬 실행 후 UI 테스트 완료

📸 스크린샷 (Optional)

  • UI가 변경된 경우, 변경 전/후 비교 스크린샷을 첨부합니다.

@jungbin97 jungbin97 merged commit d882180 into master Jul 9, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants