"Javac이(가) 내부 또는 외부 명령으로 인식되지 않습니다" 오류는 명령 프롬프트(Command Prompt)를 통해 Windows에서 Java 프로그램을 컴파일하려는 사용자들이 자주 마주치는 문제입니다. 이 오류는 기본 Java 컴파일러의 현재 버전을 확인하려고 할 때에도 나타날 수 있습니다.

Javac이란 무엇인가?
Javac("자바-씨"로 발음)는 Oracle Corporation이 개발한 JDK(Java Development Kit)에 포함된 핵심 Java 컴파일러입니다. 이 컴파일러는 Java 언어 사양(JLS)을 준수하는 소스 코드를 입력받아, JVM(Java Virtual Machine Specification)에 따라 Java 바이트코드로 변환하는 역할을 수행합니다.
'Javac 인식되지 않음' 오류의 원인
"Javac이(가) 내부 또는 외부 명령으로 인식되지 않습니다" 오류는 명령 프롬프트가 Java PATH 변수를 찾지 못할 때 발생합니다. 주요 원인은 다음 두 가지입니다.
- 컴퓨터에 JDK(Java Development Kit)가 설치되어 있지 않음 – 사용자가 Java 컴파일러(javac)가 JRE(Java Runtime Environment)와 함께 자동으로 설치된다고 잘못 알고 있는 경우에 흔히 발생합니다.
- Javac 경로가 설정되지 않았거나 잘못 설정됨 – 명령 프롬프트에서 정상적으로 컴파일을 진행하고, 다른 앱 서버 도구들이 올바르게 작동하도록 하려면 시스템이 Javac의 위치를 인식해야 합니다. 이 경우에는 경로를 직접 설정해 주어야 합니다.
1단계: JDK(Java Development Kit) 설치하기
이 오류가 발생하는 가장 큰 원인 중 하나는, Java를 막 배우기 시작한 초보자들이 JRE(Java Runtime Environment)와 JDK(Java Development Kit)를 혼동한다는 점입니다.
JRE는 JDK의 일부이지만, 대부분의 경우 별도로 다운로드됩니다. Java 런타임을 활용하는 많은 프로그램들은 자체 설치 패키지에 JRE를 포함시켜 배포합니다.
Java 개발에 관심이 없다면 JDK가 필요할 일이 거의 없기 때문에, "Javac이 이미 JRE와 함께 설치되었겠지"라고 생각했을 수 있습니다. 하지만 실제로는 전체 JDK(Java Development Kit)를 설치해야만 Javac을 사용할 수 있습니다.
해당 상황에 해당된다면, 아래 가이드를 따라 "javac is not recognized" 오류를 해결하기 위한 JDK를 설치해 보세요.
- Oracle 공식 사이트(여기)에 접속한 후, Java Platform (JDK) 항목 위의 Download 아이콘을 클릭하여 최신 버전의 Java Development Kit를 다운로드합니다.

- 다음 화면에서 Java SE Development Kit 섹션으로 스크롤한 뒤, Accept Licence Agreement(라이선스 동의) 토글을 선택합니다. 그런 다음 Windows용 다운로드 링크를 클릭하세요. 두 가지 옵션이 있지만, 압축 해제 과정 없이 바로 설치할 수 있으므로 .exe 파일 다운로드를 권장합니다.

- 다운로드가 완료되면 JDK 설치 실행 파일을 열고, 화면의 지시에 따라 설치를 진행합니다.

- 설치 화면에서 Development Tools(개발 도구)와 Source Code(소스 코드)가 모두 로컬 하드 드라이브에 하위 기능까지 포함하여 설치되도록 설정되어 있는지 확인합니다. 또한 가능하면 기본 설치 경로를 그대로 유지하는 것이 좋습니다. 2단계를 더 쉽게 진행할 수 있기 때문입니다.

참고: Install to 항목에 표시된 설치 경로를 메모해 두세요. 2단계에서 필요하게 됩니다. - Java Development Kit 설치가 완료될 때까지 기다립니다. 완료 후 재시작 안내가 나타나지 않으면, 컴퓨터를 수동으로 재시작하세요.

이제 Javac을 포함하는 올바른 패키지가 설치되었습니다. 다음 단계에서 Javac 경로를 올바르게 설정하는 방법을 알아보겠습니다.
2단계: Java 환경 변수 설정 및 시스템 경로(Path) 업데이트
본격적인 작업에 앞서, 아래 절차는 1단계에서 Java Development Kit가 올바르게 설치되었음을 확인한 경우에만 적용된다는 점을 유의하세요.
JDK를 설치했는데도 여전히 "Javac이(가) 내부 또는 외부 명령으로 인식되지 않습니다" 오류가 발생한다면, Java 초보자들이 가장 흔히 겪는 기술적 문제에 부딪힌 것입니다. Windows에서 Java Development Kit 설치를 완전히 마무리하려면 몇 가지 수동 설정이 필요합니다. 이 단계는 JDK 최초 설치 시뿐 아니라, JDK를 업데이트한 이후에도 항상 수행해야 합니다.
아래는 Java 환경 변수를 올바르게 설정하고 시스템 경로를 업데이트하는 빠른 가이드입니다.
- Windows key + R을 눌러 실행(Run) 대화상자를 엽니다. 그런 다음 "sysdm.cpl"을 입력하고 Enter 키를 눌러 시스템 속성(System Properties) 창을 엽니다.

- 시스템 속성 창에서 고급(Advanced) 탭으로 이동한 후, 환경 변수(Environment Variables) 버튼을 클릭합니다.

- 새로 열린 환경 변수 창에서 시스템 변수(System variable) 영역의 새로 만들기(New) 버튼을 클릭합니다.

- 새 시스템 변수(New System Variable) 창에서 변수 이름(Variable name)은 JAVA_HOME으로, 변수 값(Variable value)은 JDK 디렉터리 경로로 입력합니다. 변경 사항을 저장하려면 확인(OK)을 클릭하세요.

참고: 1단계에서 JDK 설치 경로를 메모해 두었다면, 그대로 변수 값에 붙여넣으면 됩니다.
- 환경 변수 창으로 돌아왔다면, 시스템 변수 목록에서 이름이 Path인 변수를 찾습니다. Path 변수를 선택한 상태에서 편집(Edit) 버튼을 클릭합니다.

- 환경 변수 편집 창에서 새로 만들기(New) 버튼을 클릭합니다.

- 새로 생성된 환경 변수 항목에 %JAVA_HOME%\bin을 입력하고 Enter 키를 누릅니다. 그런 다음 확인(OK)을 클릭하여 변경 사항을 적용합니다.

- 이 마지막 단계까지 완료하면 Java 환경 구성이 끝납니다. 이제 CMD에서 애플리케이션을 컴파일하거나 Javac 버전을 확인할 수 있습니다.

보너스 단계: 설정이 성공적으로 완료되었는지 확인하기
명령 프롬프트에서 간단한 확인 절차를 거치면 Java 환경 변수 경로가 성공적으로 설정되었는지 검증할 수 있습니다. 아래 단계를 따라 설정이 정상적으로 작동하는지 확인해 보세요.
- Windows key + R을 눌러 실행(Run) 대화상자를 연 후, "cmd"를 입력하고 Enter 키를 눌러 명령 프롬프트 창을 엽니다.

- 명령 프롬프트 창에 echo %JAVA_HOME%을 입력하고 Enter 키를 눌러 출력 결과를 확인합니다. JDK 디렉터리 경로가 출력된다면 2단계가 성공한 것이며, JAVAC이 정상적으로 작동하고 있는 것입니다. 반면 JDK 경로 대신 공백만 출력된다면 환경 변수 설정에 실패한 것이니, 1단계와 2단계를 다시 확인해 보세요.
