본문 바로가기

Major Field/Java Jive : )

환경변수 설정을 하는 이유

반응형

블로그에 처음으로 댓글이 달렸다.

야근에 시달려 블로그에 신경을 못쓰고 워낙에 외부의 발길이 뜸한 블로그라 혼자 끄적거리고 노는 것이 익숙해져 댓글이 달린 사실을 너무 늦게 알게 되었다.

죄송스런 마음에 이 글을 포스팅하게 되었다.



자바를 설치하게 되면 다음과 같이 환경변수를 등록한다.





환경변수를 설정하지 않으면 자바를 사용할 수 없는가?
대답은 "그렇지 않다" 이다.

다음 그림은 환경변수를 등록하지 않고 javac 명령어를 입력한 것이다. 클릭해서 보자.
환경변수 설정을 하지 않았을 때는 임의의 위치에서 자바 명령을 호출할 수 없다.
하지만 자바 명령어가 있는 full path 를 입력하면 자바 명령을 사용할 수 있다.


환경변수를 등록하지 않으면 임의의 위치에서 소스를 만들고 작업할 때 명령을 호출할 때 마다 번번히 full path 를 입력해야 한다. 프로그래밍을 하면서 컴파일을 하는 횟수를 헤아리기 어려울 것이다. 매번 컴파일을 할 때마다 이렇게 명령어를 입력하긴 여간 불편한 일이 아니기에 환경변수를 등록하는 것이다..

환경변수를 등록하면 다음 그림과 같이 임의의 위치에서 자바 명령어를 호출할 수 있다.


같은 맥락에서 자바는 컴파일된 class 또는 jar 파일 등을 참조하여 실행하게 되는데 그것들의 위치가 어디에 있는지를 알려주기 위하여 CLASSPATH 를 등록하여 사용한다.


자바의 기본적인 클래스만을 사용한다면 CLASSPATH 를 등록하지 않아도 컴파일하고 실행하는 데에 문제는 없을 것이다. 하지만 외부 라이브러리를 이용하거나 다른 프로그램과의 연동 시에 CLASSPATH 를 지정해 주지 않으면 문제가 될 소지가 있다.

환경변수에 등록한 변수는 다시 환경변수에서 이용할 수 있다. 환경변수 이름의 양 옆에 %를 붙이면 되는데 위의 예에서 Path를 보면 %JAVA_HOME%이라고 된 것을 발견할 수 있다.


이렇게 JAVA_HOME을 환경변수로 등록하는 이유는 자바를 버전별로 관리하거나 자바를 설치한 위치가 바뀌었을 때 JAVA_HOME의 변수 값만 바꾸어 주면 자바 명령어를 그대로 이용할 수 있기 때문이다.

이 글로 hhneca님의 궁금증이 조금이나마 해소되었으면 좋겠다.
덧붙여 답변을 달아주신 데미나인님께 감사의 말을 전한다.


반응형