Java SE 다운로드 URL
https://www.oracle.com/java/technologies/javase-downloads.html
C:\Program Files\Java\jdk-11\
시스템 속성 -> 고급 -> 환경 변수 -> 시스템 변수
1. 새로 만들기 -> JAVA_HOME
변수 이름 : JAVA_HOME
변수 값 : C:\Program Files\Java\jdk-xxx
변수 이름 : CLASSPATH
변수 값 : %JAVA_HOME%\lib
%JAVA_HOME%\lib
cmd 에서
java -version
javac -version
path는 파일이 있는 그 폴더가 아닌 다른 폴더에서 해당 폴더에 접근하기 위해 지정해준다.
Java에서 path를 잡는 이유는 javac의 컴파일 때문이다.
JVM에 의해 java는 다른 폴더에서도 실행이 되지만, java를 컴파일 할 때 필요한 javac는 path를 잡지 않으면 실행할 수 없다.
javac를 어디서든 사용하고 bin 디렉토리 내 모든 자바 전용 툴을 사용하기 위해 환경변수를 설정한다.
Java 프로그램에서 java_home을 인식하기 때문에 설정한다.
Java로만 프로그래밍한다면 path, classpath만 잡아줘도 잘 작동하지만, 나중에 자바 버전을 변경할 때
JAVA_HOME만 변경하면 path와 classpath는 변경하지 않아도 되기 때문에 JAVA_HOME을 잡는 것이 좋다.
OS환경변수의 하나로 실행파일 경로를 지정.
javac에 대한 path를 설정해보자.
Path를 설정하면 해당 폴더 외 다른 폴더에서도 경로를 찾아 javac를 실행할 수 있게 해준다.
ex) %JAVA_HOME%\bin;
자바에서 사용하는 path. 자바는 class를 사용.
path와 비슷한 개념이지만 자바의 class 파일들을 위한 환경변수
편리하게 package를 import 할 수 있다.
ex)
.;%JAVA_HOME%\lib\tools.jar : .(현재폴더)에서 찾아보고 없으면 .;%JAVA_HOME%\lib\tools.jar 에서 찾으라는 의미
톰캣 시작시 TOMCAT_HOME에 설정된 톰캣 시작.
TOMCAT_HOME이 없으면 startup.bat 파일을 시작한 톰캣으로 시작된다.
주의)
이클립스로 개발하지 않고, 다른 툴로 개발해 윈도우 환경에서 java, javac와 같은 명령어를 실행장소에 상관없이 실행하게 해주려면 classpath가 아닌 path에 경로를 설정해 주어야 함
JDK 설치시 환경변수로 path 및 classpath를 잡는다.
path의 설정 이유는 JDK를 도스 프롬프트 상에서 사용하기 위함으로,
필수는 아니지만 장기적으로 봤을 때 사용될 가능성이 있으므로 미리 설정해 두는 편이 용이하다. path는 간단하게 JDK가 설치된 곳의 메인 경로의 bin 폴더를 잡아주면 된다.
ex) C:\Program Files\Java\jdk-xxx\bin
(참고로 JAVA_HOME이란 변수를 만들어 메인 경로를 잡고,
PATH변수에 %JAVA_HOME%\bin 처럼 설정하는 것도 가능)
classpath의 경우는 내 pc어디서든 JDK가 제공하는 라이브러리를 사용할 수 있도록 하기 위해 설정하는 것.
경로설정은
ex) .; C:\Program Files\Java\jdk-xxx\bin;C:\Program Files\Java\jdk-xxx\jre\lib;C:\Program Files\Java\jdk-xxx\jre\lib\ext;
정리하자면, JDK가 설치된 곳의 lib 폴더와 JDK 폴더 안의 jre 폴더에 lib, 마지막으로 JDK-jre-lib안의 ext 폴더를 지정해 준다.
javac로 컴파일 할 경우 path를 잡아줘야 한다.