Java

김상건·2023년 3월 5일
0

1. Java 11 설치

Java SE 다운로드 URL
https://www.oracle.com/java/technologies/javase-downloads.html
C:\Program Files\Java\jdk-11\

  • SE : Standard Edition
  • EE : Enterprise Edition (기업용 환경)

  • JRE(JAVA Runtime Environment) : 자바 프로그램이 실행될 수 있는 환경 구성
  • JDK(JAVA Development Kit) : 자바로 개발을 할 수 있는 환경구성(때문에 JRE가 포함됨)

2. Java 환경 변수 설정

시스템 환경 변수 편집

시스템 속성 -> 고급 -> 환경 변수 -> 시스템 변수
1. 새로 만들기 -> JAVA_HOME

변수 이름 : JAVA_HOME
변수 값 : C:\Program Files\Java\jdk-xxx
  1. 새로 만들기 -> CLASSPATH
변수 이름 : CLASSPATH
변수 값 : %JAVA_HOME%\lib
  1. PATH -> 편집 -> 새로 만들기
%JAVA_HOME%\lib

확인

cmd 에서

java -version
javac -version

환경 변수를 설정하는 이유

path는 파일이 있는 그 폴더가 아닌 다른 폴더에서 해당 폴더에 접근하기 위해 지정해준다.
Java에서 path를 잡는 이유는 javac의 컴파일 때문이다.
JVM에 의해 java는 다른 폴더에서도 실행이 되지만, java를 컴파일 할 때 필요한 javac는 path를 잡지 않으면 실행할 수 없다.
javac를 어디서든 사용하고 bin 디렉토리 내 모든 자바 전용 툴을 사용하기 위해 환경변수를 설정한다.

  • . : 현재경로
  • ; : 구분자 (유닉스에선 : )

  • 시스템 변수 : 하나의 os에 여러명의 사용자 계정이 있더라도 공통적으로 적용됨
  • 사용자 변수 : 하나의 os에 여러명의 사용자 계정이 있을경우 특정 사용자만 적용됨

JAVA_HOME

Java 프로그램에서 java_home을 인식하기 때문에 설정한다.
Java로만 프로그래밍한다면 path, classpath만 잡아줘도 잘 작동하지만, 나중에 자바 버전을 변경할 때
JAVA_HOME만 변경하면 path와 classpath는 변경하지 않아도 되기 때문에 JAVA_HOME을 잡는 것이 좋다.

PATH

OS환경변수의 하나로 실행파일 경로를 지정.
javac에 대한 path를 설정해보자.
Path를 설정하면 해당 폴더 외 다른 폴더에서도 경로를 찾아 javac를 실행할 수 있게 해준다.
ex) %JAVA_HOME%\bin;

CLASSPATH

자바에서 사용하는 path. 자바는 class를 사용.
path와 비슷한 개념이지만 자바의 class 파일들을 위한 환경변수
편리하게 package를 import 할 수 있다.

ex)
.;%JAVA_HOME%\lib\tools.jar : .(현재폴더)에서 찾아보고 없으면 .;%JAVA_HOME%\lib\tools.jar 에서 찾으라는 의미

TOMCAT_HOME

톰캣 시작시 TOMCAT_HOME에 설정된 톰캣 시작.
TOMCAT_HOME이 없으면 startup.bat 파일을 시작한 톰캣으로 시작된다.

PATH, CLASSPATH 차이 #### path OS환경에서 이용되는 것. #### classpath 자바환경에서 컴파일 할 때 필요한 것. classpath 는 자바에서 컴파일 하기 위해, *.class가 모여있는 곳을 가리키는 곳 다시말해 라이브러리(class 파일)을 자바에게 알려주는 역할 ex) 라이브러리를 import 한다고 할때, 컴파일 하는곳에서 그 라이브러리의 경로를 알아야 함 하지만 classpath에 그 경로를 지정해 주면, javac에서 알수 있기 때문에 import com.okjsp.util 만으로 imort 할 수 있다.

주의)
이클립스로 개발하지 않고, 다른 툴로 개발해 윈도우 환경에서 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를 잡아줘야 한다.

0개의 댓글