반응형
💥 "흰 화면만 나와서 멘붕... 알고 보니 포트 귀신이었다"
🧩 사건의 발단
오늘도 평화롭게 넥사크로 앱을 톰캣에 올리고 브라우저를 켰다.
localhost:8080 접속… 딱 봐도 내가 만든 앱이 떠야 정상이다.
근데...
🤔 어라? 흰 화면?
거기까진 그럴 수 있다. 근데 더 이상한 건...
앱 제목이 내가 만든 게 아님;;
전에 봤던 다른 앱의 타이틀이 떡하니 떠있다?!
데이터도 아니고 UI도 아니고… 제목만 과거의 유령처럼 남아있었다.
🕵️ 단서 수집
처음엔 JSP, Spring 설정, welcome-file 이런 거 다 뒤졌다.
ViewResolver? 잘 돼 있음. Controller? 잘 들어옴.
아무리 봐도 문제 없어 보이는데 화면은 과거 앱...
그래서 마지막 희망으로 로그 확인… 그리고 깨달았다.
⚡ 문제의 진짜 원인: 죽지 않은 톰캣
이전 실행되던 톰캣 인스턴스가 완전히 종료되지 않았고,
8080 포트를 점유한 채 살아 있었던 것!
진짜로 톰캣 좀비 하나 잡는 데 8시간 걸림...

🛠 해결법
0. cmd 창을 관리자 권한으로 연다
1. netstat -ano
2. taskkill /f /pid PID번호( 0.0.0.0:8080 로컬호스트의 PID)
이걸로 포트 점유한 프로세스를 강제로 종료해주니,
비로소 내가 만든 앱이 정상적으로 뜨기 시작했다.
🔧 그 외에도 손봤던 부분들
넥사크로에서는 다음 설정들도 정확히 맞춰줘야 한다.
- Options → Working Folder: 프로젝트 경로 정확히 지정
- Build → Generate Path: 생성된 리소스가 웹에 반영되도록
- Base Library Path: 넥사크로 라이브러리 경로 누락 방지
그리고 마지막으로…
🧹 브라우저 캐시 삭제 + 탭 전체 닫기 → 다시 접속
그제서야 진짜 앱이 정상적으로 보이기 시작했다.
✅ 정리: 다음에 흰 화면 나오면 이렇게 점검하자
- 브라우저 캐시 클리어 & 시크릿 모드 접속
- Welcome 파일(index.jsp), Controller 라우팅 확인
- 넥사크로 경로 세팅 확인
- 포트 점유 프로세스 확인
-
cmd 창을 관리자 권한으로 연다1) netstat -ano2) taskkill /f /pid PID번호( 0.0.0.0:8080 로컬호스트의 PID)
📌 마무리하며
개발할 땐 늘 내 코드가 문제라고 생각하지만…
가끔은 죽지 않는 톰캣이 범인일 수 있다.
이 삽질 덕에 다음부터는 8080이 멀쩡히 살아 있는지도 먼저 확인하는 습관이 생겼다 😅
'개발자 > 개발 공부' 카테고리의 다른 글
톰캣은 왜 내 웹을 안 보여주는가 – PermGen 추적기 (1) | 2025.04.18 |
---|---|
눈 아픈 개발자들을 위한 이클립스 폰트 설정법 (쉽고 빠름) (4) | 2025.04.15 |
개발자라면 필수! GitHub + 이클립스 연동하는 법 (0) | 2025.03.25 |
[DB 에러] Got minus one from a read call (6) | 2025.03.17 |
Crownix Report 사용법 정리 (0) | 2025.03.05 |