JDK Development Kit 로고
JDK를 준비해보자

자바 개발 키트(JDK, Java Development Kit)는 통합 개발 환경(IDE, Integrated Development Environment)과 함께 웹 프로젝트를 개발하는 데 사용하는 필수 도구입니다. 이번 시간에는 JDK의 개념 및 JDK를 다운로드하고 JDK의 실행 파일 경로를 환경변수(environment variable)에 등록하는 방법을 알아보겠습니다.

IDE
코드를 작성하는데 필요한 텍스트 편집기(text editor), 컴파일(compiling) 및 배포(deployment) 시 사용하는 명령줄 인터페이스(Command-Line Interface, CLI) 타입의 셸 프로그램, 디버깅(debugging) 도구 등 개발할 때 필요한 여러 작업 환경을 하나로 통합한 소프트웨어

개요

정의

JDK란 자바 기반[1]의 소프트웨어를 개발하고 실행하는 데 필요한 도구들을 모아 놓은 소프트웨어 패키지입니다. 프로그램을 개발하고 실행하려면 라이브러리(library)와 컴파일러(compiler), 그리고 런타임 환경(runtime environment) 등 다양한 도구들이 필요한데, JDK는 이러한 도구들을 한 곳에 모아놓은 자바 종합 개발 키트입니다.

라이브러리(library)
자주 사용하는 코드를 모듈(modules)과 패키지(packages)로 만들어 놓은 도구 모음
컴파일러(compiler)
사람이 작성한 코드를 컴퓨터가 이해할 수 있는 언어에 가까운 코드로 번역해 주는 도구
런타임 환경(runtime environment)
컴파일된 작업물을 실제로 구동해 주는 실행 환경

구성 요소

JDK는 자바 런타임 환경(JRE, Java Runtime Environment)과 개발 도구로 이루어집니다.

JRE

JRE는 자바 애플리케이션을 실행하는 데 필요한 환경을 제공하는 공간입니다. JRE는 컴파일된 바이트코드를 플랫폼에 특화된 언어로 번역하고 실행합니다.

항목정의
JVM자바 바이트코드를 실행하는 가상 머신으로, 플랫폼 독립적인 실행 환경을 제공하여 자바 프로그램이 다양한 운영 체제에서 실행될 수 있도록 함
클래스 라이브러리자바 프로그램 실행에 필요한 자바 표준 클래스들의 집합으로, 기본 데이터 타입, 데이터 구조, 네트워킹, GUI 구성 요소 등 다양한 기능을 제공
java(자바 애플리케이션 런처) 컴파일된 자바 프로그램을 실행하는 도구로, 명령줄에서 자바 애플리케이션을 시작하는 데 사용
클래스 로더자바 클래스와 인터페이스를 JVM의 메모리에 로드하는 도구, 필요한 클래스 파일을 동적으로 찾아 메모리에 로드
JIT 컴파일러프로그램 실행 중에 실시간으로 이루어지는 Just-In-Time 컴파일러로, 자주 사용되는 바이트코드를 네이티브 코드로 변환하여 캐시에 저장한 후 같은 코드가 다시 실행될 때 JVM은 인터프리터를 사용하는 대신 캐시된 네이티브 코드를 직접 실행하여 실행 속도를 향상
가비지 콜렉터더 이상 사용되지 않는 객체를 자동으로 메모리에서 해제하여 메모리 관리를 수행하는 시스템으로, 메모리 누수를 방지
보안 관리자자바 애플리케이션의 보안 정책을 관리하며, 애플리케이션이 시스템 리소스에 접근할 수 있는 권한을 제어
기본 개발 도구(javaw, keytool 등)GUI 애플리케이션 실행 및 보안 키와 인증서 관리 등의 기능을 제공하는 도구

개발 도구

항목정의
javac(Java 컴파일러) Java 소스 코드를 바이트코드로 컴파일하는 도구로, .java 파일을 읽어들여 JVM에서 실행 가능한 .class 파일로 변환
javadoc(문서 생성기) 소스 코드의 주석을 기반으로 API 문서를 생성하는 도구로, 개발자가 작성한 주석을 HTML 형식의 문서로 변환하여 문서화
jar(아카이브 생성/관리 도구) 자바 애플리케이션을 JAR 파일로 패키징하는 도구로, 여러 클래스 파일과 리소스를 하나의 아카이브 파일로 묶어 배포를 용이하게 함
jdb(Java 디버거) 자바 프로그램의 실행을 제어하고 검사하는 디버깅 도구로, 코드의 중단점 설정 및 변수 상태 확인 등을 지원
jlink(모듈 링커) 사용자 정의 런타임 이미지를 생성하는 도구로, 필요한 모듈만 포함하여 경량화된 Java 런타임 환경을 만들 수 있음
jshell(Java REPL 도구) 자바 코드를 대화식으로 평가하고 실행할 수 있는 REPL(Read-Eval-Print Loop) 도구로, 실시간으로 코드를 테스트할 수 있음
javap(클래스 파일 역어셈블러) 컴파일된 클래스 파일의 내부 구조를 분석하는 역어셈블러로, 클래스의 메서드 및 필드 정보를 출력하여 디버깅에 도움을 줌
jconsole(모니터링 도구) 자바 애플리케이션의 성능을 모니터링하고 관리하는 GUI 도구로, JVM의 메모리 사용량 및 스레드 상태 등을 실시간으로 확인할 수 있음
jstat(JVM 통계 모니터링 도구) JVM의 성능 통계를 모니터링하는 도구로, 메모리 사용량 및 가비지 컬렉션 통계 등을 확인할 수 있음
jmap(힙 덤프 생성 도구) 실행 중인 자바 프로세스의 힙 메모리 덤프를 생성하는 도구로, 메모리 문제를 진단하고 분석하기 위한 정보를 수집
jstack(스레드 덤프 생성 도구) 실행 중인 자바 프로세스의 스레드 덤프를 생성하는 도구로, 스레드 상태와 관련된 정보를 분석하여 교착 상태나 성능 문제를 진단할 수 있음

단계

JDK를 이용하여 자바 프로그램을 작성하고 실행하는 전체 과정은 다음과 같습니다.

    1. 소스 코드 작성: 개발자가 .java 확장자를 가진 자바 소스 코드 파일을 작성
    1. 컴파일: JDK의 javac 컴파일러를 사용하여 .java 파일을 .class 파일(자바 바이트코드)로 변환
    1. 자바 런처 실행: JRE의 java(자바 런처)가 JVM을 구동(예를 들어, 윈도우의 명령 프롬프트에서 java.exe를 실행하는 것과 같음)
    1. 클래스 로딩: JRE의 클래스 로더가 컴파일된 .class 파일을 JVM의 메모리에 로드
    1. 바이트코드 검증: JVM의 바이트코드 검증기가 로드된 바이트코드의 무결성을 검사
    1. 바이트코드 해석 및 실행, JIT 컴파일: JVM의 인터프리터가 바이트코드를 한 줄씩 해석하여 실행하며, 동시에 JRE의 JIT(Just-In-Time) 컴파일러가 자주 사용되는 코드 감지 및 이러한 핫스팟 코드를 네이티브 기계어로 컴파일
    1. 가비지 컬렉션: 프로그램 실행 중 JVM의 가비지 콜렉터가 더 이상 사용되지 않는 메모리를 자동으로 해제

컴파일

컴파일이란 사람이 작성한 고수준(high-level language)의 언어를 컴퓨터가 이해할 수 있는 저수준(low-level language)에 가까운 언어로 바꾸는 과정입니다. 컴파일러는 컴파일을 수행하는 프로그램입니다. 인터프리터(interpreter)가 사람이 작성한 코드를 한 줄 씩 읽고 컴퓨터에게 차례대로 통역해주는 동시 통역사와 같다면, 컴파일러는 전체 코드를 한 번에 번역해주는 번역가와 같습니다(참조: 프로그래밍 언어 종류와 언어별 특징). 자바에서는 javac 컴파일러가 자바 소스 코드 파일(.java)을 읽어 자바 바이트코드(Java bytecode)를 포함하는 클래스 파일(.class)로 변환해 줍니다.

바이트코드
소스 코드와 기계어(machine language) 사이의 중간 단계의 언어. 많은 프로그래밍 언어들은 각자의 실행 환경이나 가상 머신이 이해하는 중간 언어나 바이트코드를 가지고 있습니다. 자바 바이트코드는 JVM이 이해하는 형식입니다. 바이트코드라는 이름은 대부분의 명령어가 1바이트 크기의 명령 코드(opcode)를 사용하기 때문에 생겨났습니다. 바이트코드는 중간 언어이기 때문에 아직 컴퓨터가 읽을 수 없습니다. 바이트코드는 이진 코드(binary code)로 되어있지만, 컴퓨터의 하드웨어가 해석할 수 있는 기계어는 아닙니다.

컴파일이라는 중간 과정을 거치는 이유는 자바 애플리케이션을 특정 컴퓨터 기종이나 운영 체제 등에 상관없이 독립적으로 실행하기 위해서입니다. 일반적으로 애플리케이션은 운영 체제에 종속적입니다. 애플리케이션을 실행하려면 파일 시스템 접근부터 네트워크 통신, 프로세스 및 메모리 관리 등 각 운영 체제의 고유한 API를 사용합니다. 또한, 컴파일된 애플리케이션의 실행 파일 형식은 운영 체제마다 다릅니다. 예를 들어, 윈도우(Windows)의 .exe 파일은 리눅스(Linux)나 맥OS에서 실행할 수 없습니다. 즉, 애플리케이션은 해당 운영 체제에 맞춰 개발해야 합니다. 이는 애플리케이션을 운영 체제에 의존적으로 만듭니다.

하지만 가상 머신을 사용하면 애플리케이션을 플랫폼에 독립적으로 만들 수 있습니다. 가상 머신은 서로 다른 시스템 사이에서 인터페이스(inteface) 레이어 역할을 해줍니다. 모든 가상 머신이 바이트코드를 사용하는 것은 아니지만, JVM은 자바 컴파일러가 만들어준 자바 바이트코드라는 일종의 플랫폼 공용어를 각 플랫폼 세상이 이해할 수 있는 특화된 언어로 바꿔줍니다. 따라서, JVM이 설치되어 있기만 하다면 어떤 컴퓨터나 운영 체제에서든 자바 애플리케이션을 실행할 수 있게 됩니다. "Write Once, Run Anywhere"라는 자바의 핵심 슬로건이 여기에서 나왔습니다. 자연스레 소프트웨어 이식성(software portability) 문제도 해결됩니다.

정리하면 운영 체제와 맞붙어 있는 JVM은 플랫폼에 종속적입니다. 운영 체제별로 다른 JVM을 사용합니다. 하지만, JVM이 프로그램 대신 운영 체제와 직접 소통하는 덕분에 자바 애플리케이션은 운영 체제에서 자유로워집니다.

개발 과정

JDK는 Java Community Process(JCP) 프로그램의 전 세계 구성원들이 국제적으로 표준화한 자바 기술 명세서(technology specifications)를 기반으로 개발됩니다. JCP는 자바 기술에 관한 의견을 공유하고 더 나은 기술을 개발하기 위해 만들어진 자바 커뮤니티입니다. 전 세계의 JDK 공급자들은 JCP가 정의한 명세서에 따라 각 회사에 적합한 JDK를 개발하고 사용자에게 제공합니다. 특정 회사가 개발한 JDK에는 그 회사의 이름을 붙입니다. 예를 들면, 오라클사가 만든 JDK는 오라클 JDK(Oracle JDK)입니다.

JDK 공급자들은 샘플 JDK를 참조해서 JDK를 개발합니다. 자바 기술 명세서를 실제로 구현한 예시 JDK를 바탕으로 각 회사에 적합한 JDK를 만드는 것입니다. 이 프로토타입(prototype)의 JDK가 바로 OpenJDK(Open Java Development Kit) 입니다.

OpenJDK는 자바 스탠다드 에디션(Java Standard Edtion, Java SE)의 공식 참조 구현(reference implementation)입니다. OpenJDK 개발에는 오라클을 포함해 OpenJDK 커뮤니티 구성원들과 Red Hat, Azul Systems, IBM, Apple 등의 국제적인 IT 기업이 참여합니다. 자바 10부터는 OpenJDK 대신 JDK Project라는 이름으로 OpenJDK 버전의 흐름을 이어가고 있습니다.

참조 구현(reference implementation)
특정 하드웨어 또는 소프트웨어를 구현하는 것을 돕기 위해 제공하는 샘플 프로그램

종류

JDK는 라이선스 지불 유무에 따라 유료 버전과 무료 버전으로 나뉩니다. 유료 JDK를 사용하려면 JDK 라이브러리에 대한 라이선스 사용료를 JDK 공급자에게 지급해야 합니다. 오라클의 장기 지원 서비스(Long Term Support, LTS) 버전의 JDK가 대표적인 유료 JDK입니다. LTS가 붙은 OracleJDK는 OpenJDK에 비해 호환성과 안정성이 중요한 기업 고객에게 더 나은 선택지를 제공합니다.

반면, 무료 JDK는 오픈 소스 기반의 JDK입니다. 누구든 가져가서 자유롭게 사용할 수 있습니다. 무료 JDK에는 이클립스 어댑티움(Eclipse Adoptium), 아마존 코레토(Amazon Corretto) 등이 있습니다. 뉴렐릭(New Relic)이 발표한 '2023년 자바 생태계 현황' 보고서에 따르면, 2023년을 기준으로 시장 점유율이 가장 높은 JDK는 아마존의 코레토였습니다. 코레토는 전체 JDK 중 약 31%를 차지했습니다. 이어 오라클JDK가 29%, 이클립스 어답티움이 12%, 레드햇(Red Hat) 10.5%, 아줄 시스템(Azul Systems) 줄루(Zulu)가 5.6%로 나타났습니다. 더 많은 JDK의 종류와 각 JDK를 제공하는 JDK 공급자의 리스트는 위키피디아 OpenJDK 리스트를 참조해 주세요.

지금까지 JDK의 정의와 JDK의 구성 요소, JDK의 개발 과정 및 JDK의 종류를 알아보았습니다. 이번에는 JDK를 다운로드하고 환경 설정하는 방법을 알아보겠습니다.

다운로드 및 설치하기

'2023년 자바 생태계 현황' 보고서에 따르면 2023년을 기준으로 가장 많이 쓰인 자바 LTS 버전은 Java 11입니다. Java 11(JDK 11)은 현시점에서 사용되고 있는 전체 버전 중 약 56%를 차지했습니다. 이어 Java 8(JDK 8)이 33%, Java 17(JDK 17)이 9% 순으로 높았습니다. 이 글에서는 Java 11과 Java8 버전의 JDK를 설치해 보겠습니다. 설치할 JDK의 종류는 아래와 같습니다.

  • 오라클(Oracle) JDK: Java 11/JDK 11 버전
  • 이클립스(Eclipse) 어답티움(Adoptium) JDK: Java 11/JDK 11 버전
  • 아줄 시스템(Azul Systems) 줄루(Zulu) JDK: Java 8/JDK 1.8 버전
  • OpenJDK

Java8, Java11 등 자바 다음에 나오는 숫자는 자바 언어의 스펙입니다. 숫자가 높아질수록 최근에 나온 버전입니다. 버전 정보로 1.3, 1.5 등 소수점으로 표기했지만, 자바 5부터는 마케팅 목적으로 정수를 사용하기 시작했습니다. 자바 8, 자바 8.0, 자바 1.8은 모두 같은 버전을 의미합니다. 예를 들어, JDK 11은 자바 SE 11 또는 줄여서 자바 11이라고 부르기도 합니다.

오라클 JDK

오라클JDK의 다운로드 주소는 다음과 같습니다.

https://www.oracle.com/java/technologies/downloads/

화면에서 스크롤을 내린 후 아래와 같이 Java 11이라고 표시된 부분을 클릭합니다. 사용하고 있는 운영 체제에 맞는 JDK 버전을 다운로드합니다. 여기서는 윈도우 버전을 다운로드해 보겠습니다.

오라클 JDK 설치 공식 홈페이지
오라클 JDK 설치 공식 홈페이지 

파일을 누르면 다음과 같이 오라클의 정책에 동의를 요청하는 창이 나옵니다. 체크 버튼을 클릭해서 동의를 해줍니다.

오라클 JDK 사용 동의하기
오라클 JDK 사용 동의하기 

검정색 다운로드 버튼을 클릭하면 오라클의 로그인 화면이 나타납니다.

오라클 로그인 웹페이지
오라클 로그인 웹페이지 

오라클에서 계정을 생성하고 로그인한 뒤 다운로드를 이어가면 됩니다. 다운로드 시 기본 설정은 유지하면 됩니다.

어답티움

이클립스 어답티움 공식 홈페이지에 들어가면 아래와 같이 버전을 선택할 수 있습니다. 사용하고 있는 운영 체제에 맞는 버전을 선택해 다운로드합니다. 여기서는 11-LTS 윈도우 .msi버전을 다운로드해 보겠습니다.

어답티움 JDK 설치 웹페이지
어답티움 JDK 설치 웹페이지 

설치를 시작하면 맞춤형 설정(custom setup)이 나타납니다. 여기서 다음과 같이 Location의 Browse를 클릭합니다. Location 옵션은 JDK를 설치할 경로를 지정하는 것입니다. JDK를 설치할 경로를 입력하고, JDK with Hotspot 리스트의 3번째 항목 'Set JAVA_HOME variable'을 선택해 줍니다. 이 옵션은 JDK 폴더 경로를 JAVA_HOME이라는 변수명으로 환경변수에 등록하겠다는 의미입니다.

이클립스 어답티움 맞춤형 설정
이클립스 어답티움 맞춤형 설정 

JAVA_HOME은 JDK가 설치된 폴더의 경로를 저장하는 변수 이름입니다. 톰캣(tomcat)과 같은 웹 애플리케이션 서버(web application server, WAS) 등 JDK를 사용하는 프로그램에서는 자바 파일을 실행할 때 운영체제에서 JAVA_HOME라는 이름의 환경변수를 사용합니다. 따라서, JDK 폴더의 경로가 JAVA_HOME이라는 이름으로 등록되어 있어야 자바 파일을 실행될 수 있습니다. 운영체제에 환경변수를 직접 등록하고 싶다면 아래 환경변수 설정 부분을 참조해 주세요. 이후 다음(Next)과 설치하기(Install) 버튼을 누르고 설치를 완료하면 됩니다.

Zulu

Zulu는 아줄 시스템 공식 홈페이지에서 다운로드할 수 있습니다. 이번에는 JDK 1.8 버전을 설치하겠습니다. 공식 홈페이지 들어가서 다음과 같이 사용하고 계시는 운영 체제에 맞는 버전을 설치해 주세요. 다운로드한 파일을 설치 마법사로 실행할 때는 기본 설정을 그대로 유지하면 됩니다.

Zulu JDK 설치하기
Zulu JDK 설치하기 

OpenJDK

OpenJDK는 OpenJDK 공식 홈페이지 또는 OpenJDK 깃허브에서 다운로드할 수 있습니다.

환경변수 설정하기

목적

환경변수에 경로를 등록하는 이유는 CLI 셸 프로그램에서 해당 파일이 위치한 디렉토리와 관계없이 실행파일을 실행하게 하기 위해서입니다. 실행파일이 위치한 경로를 환경변수에 미리 등록하여 CLI 셸 프로그램이 명령을 실행 파일의 이름으로 인식하도록 만드는 것입니다. 예를 들어, 윈도우의 경우 cmd에서 다음 명령어를 입력합니다.

batch
javac

이 명령은 윈도우 운영체제의 Path라는 변수명을 가진 환경변수에 등록된 경로를 검색하여 javac.exe 파일을 찾아 실행하라는 의미입니다. 만약 이 경로가 Path 환경변수에 등록되어 있지 않다면, 다음과 같은 오류가 발생합니다:

batch
'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

이 오류는 운영체제가 javac를 실행파일의 이름으로 인식하지 못하기 때문에 발생합니다. 윈도우의 경우 운영 체제가 cmd에서 파일을 실행하려고 할 때는 Path 환경변수에 등록된 경로를 순차적으로 검색하여 실행파일을 찾습니다. 그런데 Path 환경변수에 등록된 경로 목록에 해당 파일이 위치한 폴더의 경로가 없기 때문에 해당 파일을 실행할 수 없는 것입니다. 반면, JDK의 bin 폴더 경로를 환경변수에 등록해 놓으면, JDK의 bin 디렉토리로 이동하지 않고도 어디에서든 실행파일을 실행할 수 있게 됩니다. 또한, 여러 JDK 버전이 있을 경우에 IDE가 사용자가 환경변수에 등록한 특정 JDK 버전을 프로젝트에 자동으로 적용할 수 있게 합니다.

등록 방법

환경변수 등록은 GUI와 CUI에서 모두 할 수 있습니다. 여기서는 윈도우에서, JAVA_HOME이라는 변수명으로 JDK 폴더 경로를 환경변수로 등록하고, Path 환경변수에는 javac.exe 파일이 위치한 폴더의 경로를 등록하는 법을 알아보겠습니다.

GUI

GUI에서 환경변수 설정으로 이동하는 경로는 다음과 같습니다(윈도우 11 기준).

  • [시스템] - [정보] - [고급 시스템 설정] - [시스템 속성의 환경변수] - [새로 만들기]
  • 윈도우 탐색기의 내 PC에서 오른쪽 버튼 클릭 - [속성] - [고급 시스템 설정] - [시스템 속성의 환경변수] - [새로 만들기]
시스템 환경변수 설정하기
시스템 환경변수 설정하기 

환경변수에는 사용자 변수와 시스템 변수가 있습니다. 사용자 변수는 현재 로그인한 사용자에게만 적용됩니다. 설정한 환경변수가 모든 사용자에게 적용되도록 하고 싶으면 시스템 변수를 사용합니다. 여기서는 시스템 변수에 등록하겠습니다.

예를 들어, 다운로드한 JDK 폴더의 이름이 jdk-11이고 해당 폴더가 C드라이브의 \Program Files\Java에 있다면, 자바로 프로그램을 개발하는 데 필요한 주요 실행파일이 위치한 C:\Program Files\Java\jdk-11\bin 경로를 Path 환경변수에 등록해 줍니다. 만일, JAVA_HOME이라는 변수에 C:\Program Files\Java\jdk-11와 같이 JDK의 폴더 경로가 등록되어 있다면, Path 환경변수에는 %JAVA_HOME%\bin으로 입력하면 됩니다. JAVA_HOME에 등록한 JDK 폴더 경로는 영어로만 구성하며, 한글이 포함되지 않도록 유의합니다.

컴퓨터에 여러 개의 JDK가 있다면, 우선순위로 사용할 JDK의 경로를 Path 환경변수의 위쪽에 배치하는 것이 좋습니다. cmd에서 실행파일명을 입력하면, cmd에서는 Path 환경변수 목록의 가장 상단부터 해당 파일을 찾습니다. 사용하려는 버전의 파일 경로가 이전 버전의 파일 경로보다 위에 있어야 원하는 파일을 실행할 수 있습니다.

CLI

cmd에서 직접 환경변수를 등록할 수도 있습니다. 명령어는 다음과 같습니다.

  • set: 현재 명령 프롬프트에서만 사용할 환경변수 등록
  • setx -m: 영구적으로 사용할 환경변수 등록
  • UserPath: 사용자 변수 등록
  • SystemPath: 시스템 변수 등록

예를 들어, cmd에서 영구적으로 사용할 시스템 변수를 등록하고 싶다면 아래 코드를 이용하면 됩니다.

shell
setx SystemPath "C:\Users\JDK-19\bin" -m

확인하기

환경변수 저장 여부

Path 환경변수에 등록을 완료했다면 실제로 잘 반영되었는지 확인해 보겠습니다. 아래와 같이 Path 환경변수 목록을 클릭하고, 입력한 경로가 잘 나타난다면 환경변수에 잘 등록된 것입니다.

Path 환경변수에 JDK 폴더 경로 등록 완료 

cmd에서도 확인할 수 있습니다. cmd에서 Path 명령을 입력했을 때 등록한 경로가 출력되면 환경변수의 값이 잘 저장된 것입니다. cmd에 Path를 입력하면 Path 환경변수에 등록된 모든 경로를 확인할 수 있습니다. 만일 등록한 경로가 보이지 않는다면 명령 프롬프트를 다시 실행하면 됩니다. set 명령어를 입력하면 모든 환경변수의 목록을 출력할 수 있습니다.

JDK 버전

다운로드한 JDK의 버전을 알고 싶다면 cmd에서 java -version을 입력하면 됩니다.

bash
java -version

다음과 같이 JDK의 버전이 출력되면 JDK가 잘 설치된 것입니다.

명령 프롬프트에서 설치한 JDK 버전 확인하기
명령 프롬프트에서 설치한 JDK 버전 확인하기 

자바 컴파일러 버전

javac -version을 입력하면 설치한 javac 컴파일러 버전을 확인할 수 있습니다.

bash
javac -version

지금까지 JDK란 무엇인지 JDK에 대한 개념과 JDK를 다운로드 및 설치하고, JDK의 경로를 환경변수에 등록하는 법을 알아보았습니다. JDK 다음으로 필요한 두 번째 도구는 IDE입니다. IDE 없이 텍스트 에디터만으로도 개발할 수 있지만, 자바와 같이 컴파일이 필요한 언어는 IDE를 사용하면 훨씬 편리합니다. IDE를 사용하지 않고 CLI 셸 프로그램에서 자바 파일을 컴파일하는 방법은 cmd에서 자바 파일 컴파일하고 실행하기를 참조해 주세요.

자바/코틀린 프로그램을 개발할 때 사용할 수 있는 IDE에는 대표적으로 이클립스(Eclipse), STS, 인텔리제이(IntelliJ)가 있습니다. 각 IDE는 장단점이 있습니다. 스프링을 이용한 웹 프로젝트를 할 때는 STS3를 사용하면 편리합니다. STS3는 기본 이클립스에 스프링 플러그인이 결합한 IDE입니다. 기본 이클립스에 스프링 플러그인을 다운로드하여 사용할 수도 있지만 설치 시 오류가 발생할 수 있습니다. 스프링 부트를 이용한 웹 프로젝트는 STS4 또는 인텔리제이 커뮤니티(Community) 버전, 인텔리제이 Ultimate 버전을 사용할 수 있습니다. 인텔리제이 커뮤니티 버전은 무료이고, Ultimate 버전은 유료입니다. 각 IDE의 설정 방법은 다음과 같습니다.

전 세계 개발자들이 사용하는 다양한 종류의 IDE를 알고 싶다면 통합 개발 환경(IDE), 텍스트 에디터 인기 순위 (2022년)를 참조해 주세요.

참고 문헌

Footnotes

  1. 여기서 자바 기반의 소프트웨어란 자바 언어로 작성된 소프트웨어와 코틀린으로 작성된 소프트웨어 모두를 포함합니다. 코틀린은 자바와 100% 호환됩니다.

...

©2024 Snug Archive. All rights reserved.

Email: snugarchive@gmail.com