ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java 환경 변수 설정(하는 이유, 과정 분석!)
    Java 2024. 1. 11. 23:33

    프로그래밍 언어 사용하려고 할 때(JDK설치 등), 뭔 경로 설정같은 걸 하게 된다.
    근데 이게 대체 뭔지, 왜 하는지도 모르고 따라만 하면...
    개발자가 아니라 사용자라고...(지난날의 나^_^...)
    그래서 이번에는 PATH 설정을 하는 이유, 그 과정을 뜯어서 고민해봤다! (JAVA 기준)


    1. 환경 변수 설정. 왜 함?

    차근차근 따라가보자. 우선 JDK를 설치했다.
    JDK는 컴파일을 하는javac.exe(개발환경을 제공)와
    프로그램을 실행 하는 java.exe(실행환경 제공)를 포함하고 있다.
     

    Q. 그럼 eclipse같은 IDE 없어도 이미 개발과 실행은 가능하겠네?!
    A. 당근. 콘솔에서 javac로 컴파일 한 후, java로 실행까지 할 수 있음

     
     
    ㅇㅋ 그럼 컴파일러 불러보자. 
    javac 입력.

    그냥 될 리가 없음. 
    컴퓨터: javac가 어디 있는데?? 나 모름..그니까 실행 못함..
     
    나는 javac.exe가 어느 위치에 있는지 안다. 
    C:\Program Files\Java\jdk1.8.0_181 의 bin 폴더 내부이다.
    근데 컴퓨터는 모른다. 알려준 적 없거든ㅎ 
     
    그러니까 실행을 하고 싶다면, 직접 디렉토리까지 이동한 후에야 
    컴퓨터: 아~ 여기 있네 javac~
     
    Path환경 변수 설정을 해주고 나면, 컴퓨터는 javac가 어디 있는지 알게 된다.
    그럼 어느 위치에서든 javac를 실행할 수 있다. 
    컴퓨터가 javac.exe, java.exe 어디 있는지 아니까.


    2. JAVA_HOME

    그럼 javac.exe가 있는 경로를 Path로 등록해주면 
    알아서 잘 찾아가겠네?
     
    근데 잠깐....
     C:\Program Files\Java\jdk1.8.0_181 너~~~무 길다.
    그니까 JAVA_HOME으로 alias해주자.(별명 붙여서 부르자)

     
    그럼 이제 C:\Program Files\Java\jdk1.8.0_181 이렇게 길게 써줄 필요 없다.
    JAVA_HOME 쓰면 된다.

     
    보시다시피 JAVA_HOME을 echo시켰더니
    C:\Program Files\Java\jdk1.8.0_181 를 돌려주는 것을 잘 확인할 수 있다!
    즉, 이제 JDK위치는 JAVA_HOME이라고도 할 수 있는 것이다.


    3. Path변수 설정해주기

    이제 진짜로 Path환경 변수에 JAVA_HOME을 등록 해서, 
    컴퓨터가 어디서든지  java.exe, javac.exe 등을 잘 찾아가서 실행할 수 있도록 해주자.
     
    내PC 우클릭->속성->고급시스템설정에서 환경변수를 설정할 수 있다.

    Path가 있다. 
    컴퓨터는 Path 목록의 값(경로)들은 알고 있다는 것이므로,
    어디서든 이 경로를 알아서 찾아갈 수 있다.
     
    그럼 여기에 JAVA_HOME\bin을 등록해준다면
    컴퓨터는 어느 폴더에서든지 JAVA_HOME\bin를 찾아가서
    JDK의 javac.exe, java.exe 등을 실행할 수 있는 것이다!

     
    Path를 더블 클릭해서 환경 변수 편집을한다.
    맨 아래에 보이듯이, %JAVA_HOME%\bin을 등록해주었다

    + 다시 한 번 말하지만, JAVA_HOME은 C:\Program Files\Java\jdk1.8.0_181 을 Alias한 거다.
    즉, C:\Program Files\Java\jdk1.8.0_181\bin을 등록해줘도 상관없다. 당신 맘대로!
    => 근데 개발자 어른들이 여러 이유로 Alias해주는 게 정신 건강에 좋다고 한다ㅎㅎ..다음에 더 정리해보겠다.

     

     
    자자 아무튼 이제 진짜로 bin까지 찾아가지 않아도, javac.exe등을 실행하는지 확인해보자.
    먼저 work라는 폴더에 Hello.java를 작성했다. 
    javac Hello.java를 입력해서 컴파일을 했다. 보다시피 에러 없이 잘 된다.
    이제 java Hello를 입력해서 실행까지 해보자. 이것도 당연히 잘 실행된다.
     

    + 과정 상세 설명)
    .java소스코드를 .class 바이트코드로 컴파일한다. -> javac Hello.java
    Hello.class바이트코드를 java실행파일을 이용해 실행한다. -> java Hello  (.class는 붙이지 않는다. '.'은 자바에서 경로 구분하는 거라서 Hello밑에 class라고 알아먹는다.)

Designed by Tistory.