목록 보기
Java 디컴파일러로 운영 서버와 형상관리 소스의 불일치를 해소하다
백엔드

Java 디컴파일러로 운영 서버와 형상관리 소스의 불일치를 해소하다

올리브영
올리브영
2026년 9월 30일

두줄요약

운영 클래스와 형상 소스 불일치를 디컴파일·AI 분류·재컴파일 검증으로 복구했습니다.\nANT를 Gradle로 전환하고 직접 수정 통제로 재발 경로를 차단했습니다.

문제 상황

  • ANT 증분 배포 누락과 SFTP 직접 수정으로 운영 클래스와 형상관리 소스의 장기적 불일치
  • 운영 서버에는 최신 .class 파일만 남고 대응 Java 소스가 유실된 레거시 백오피스 환경

원인 분석

  • 운영 직접 수정 뒤 형상관리로 되돌리는 책임·강제 절차의 부재
  • 디컴파일러별 코드 재구성과 추론 차이로 단순 소스 덮어쓰기의 높은 유지보수 위험

해결 방법

  • 운영 클래스와 형상 소스 재컴파일 클래스를 동일 디컴파일러로 변환 후 diff 비교
  • AI 위험도 분류를 참고해 로직 차이만 선택 반영하고, JAD·CFR·Fernflower 교차 검증
  • 재컴파일 클래스의 해시·바이트코드 비교로 동등성 확인

성능/운영 포인트

  • AI는 diff와 상·중·하 위험도 분류, 엔지니어는 반영 판단과 최종 검증 담당
  • ANT를 Gradle로 전환하고 운영 직접 수정 제한 및 CI/CD 정식 배포 강제
  • 직렬화 UID, 리플렉션 메타데이터, 람다·익명 클래스 영역의 별도 점검

다음 읽기

#CI/CD 주제를 이어서 읽기

TeamCity로 윈도우 클라이언트 배포 파이프라인 만들기

TeamCity를 이용해 셀프계산대의 수작업 배포를 자동화한 과정을 소개했습니다. 빌드 환경 통일과 단계 분리로 휴먼에러를 줄이고 배포 시간을 66.8% 개선했습니다.

올리브영
올리브영
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...