JRE는 개발 도구 세트(JDK)와 달리, 자바 애플리케이션을 빌드/컴파일하는 도구는 포함하지 않습니다. 대신 실행에 필요한 JVM과 핵심 라이브러리(Java 표준 클래스), 그리고 실행 관련 구성요소를 제공합니다.
쉽게 말해, JRE는 “자바 앱을 돌릴 수 있게 해주는 최소 패키지”이고, JDK는 “자바 앱을 만들 수 있게 해주는 전체 개발 키트”입니다.
“JRE는 실행에 필요한 것만 묶은 패키지다.
그래서 컴파일러(javac)는 없다.”
💡 TIP / 참고사항
요즘은 “JDK만 설치하면 끝”인 경우가 많습니다. 왜냐하면 최신 배포 방식(도커, CI/CD, 서버 운영)에서 개발/실행 환경을 분리하기보다 JDK를 표준으로 맞추는 게 더 흔해졌기 때문입니다.
다만 개념적으로는 “실행만 필요한 환경”이 존재하고, 그때 JRE 개념이 도움이 됩니다.
✅ 이런 상황에서 필요
- 운영 서버에 “컴파일러 없이 실행만” 하길 원할 때
- 이미 빌드된 JAR/WAR를 받아서 실행하는 배포 구조
- 런타임만 최소로 가져가 컨테이너 크기를 줄이고 싶을 때
⚠️ 하지만 조심할 점
- 운영 중 진단 도구가 부족해(또는 제한돼) 분석이 어려울 수 있음
- 라이브러리/모듈 구성 차이로 “로컬과 서버가 다르게 동작”할 위험
- 결국 실무에서는 JDK로 통일해 문제 재현성을 확보하는 경우가 많음
✅ 핵심 요약
- ✔️ JRE는 자바 프로그램을 실행하기 위한 환경이며, JVM + 표준 라이브러리로 구성된다.
- ✔️ JDK는 JRE에 개발 도구까지 포함한 개발 키트다.
- ✔️ 실무에선 보통 JDK로 통일하지만, “실행만” 필요한 최소 환경 개념으로 JRE를 이해하면 좋다.