자바에서 환경변수를 설정하는 이유
자바를 시작 할 때 우리는
JAVA_HOME
CLASS PATH
이런식으로 무조건 환경변수 설정부터 해라 라고 안내받는다
그런데 이유는 따로 설명해주지 않았다
그래서 따로 찾아보기로 했다
환경변수
프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
시스템의 실행파일이 놓여있는 디렉토리의 지정 같은
OS 상세서 동작하는 응용소프트웨어가 참조하기 위한 설정이 기록된다
이 응용소프트웨어는 시스템콜, OS 표준 API 같은 것을 통해
간단하게 값을 얻을 수 있도록 되어있다
요컨대, 어딘가 짱박혀있는 응용프로그램을 쉽게 꺼내서 쓰기 위해미리 변수로 등록해놓는다는 말이다
캡쳐하고 간단히 편집해서 쓰는 그림판을 예시로 들어보자
그림판의 경로는 다음과 같다
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories
그림판을 실행하기 위해서는 저 위치까지 가야하는게 맞지만
환경변수 Path가 설정 되어 있기 때문에 저 폴더까지 가지 않고도
간단하게 실행 창이나 커맨드에서 mspaint 라고만 쳐도 접근이 가능하다
그래서
자바를 할 때
환경변수를 설정하는 이유는 컴퓨터 어떠한 곳이더라도
java 프로그램에 접근할 수 있도록 해주기 위함이며
JDK(자바 개발 키트)를 설치하게 되면
java 명령어는 사용이 가능해도
javac 같은 명령은 작동하지 않는다 (javac는 컴파일 기능)
JDK를 설치하면 JDK와 JRE(자바 런타임 환경) 2가지 폴더가 설치되고
JDK 폴더엔 API와 컴파일러가
JRE는 자파 프로그램 실행에 필요한 JVM(자바 가상 머신)과 java.exe가 설치된다
JRE는 자동으로 Path가 설정되는 반면, JDK는 그게 되지 않는다
그렇기 때문에 JDK 폴더의 bin을 사용하기 위해서는 Path 설정이 불가피하다는 것이다.
(bin에 실행파일이 있기 때문)
그런데
검색하고 공부를 하다보니
“결국 환경변수 설정 이유는 cmd에서 직접 자바 컴파일을 하기 때문이고
cmd를 사용하지도 않을건데 왜 굳이 하냐”
라는 의견을 가진 사람들도 있었다
필수인지 아닌지 의 여부를 떠나서
근본적으로 환경변수를 설정하는 이유에 대해 생각을 더 하게된 계기이다
결론
운 좋게 현업 개발자분과 대화를 할 계기가 있어서 이것에 관해 질문을 드려봤다
요점은, 프로젝트를 하다보면 서버가 다수라서 환경을 통일할 경우가 생기고
서버 설치하고 환경을 구성할 때 동일하게 맞추면 프로젝트 안에서는
그런 환경변수들과 의존성이 분리되기 때문에 설정하는 것이 좋다
편의성을 위해 그러한 좋은 기능을 쓰는 것.
'나의 생각' 카테고리의 다른 글
Must 와 Want 교집합을 이루는 그 순간의 기로에서 (2) | 2022.06.13 |
---|---|
협업, 커뮤니케이션 (0) | 2022.04.25 |
생각 (0) | 2022.02.22 |
Grit: 최고의 재능은 노력 (0) | 2021.12.21 |
댓글