앞으로 학원 수강을 위해 노트북 사용/휴대가 잦아지는 상황이 많으므로, 노트북을 구매했다.
자바를 개발하기 위한 관련 프로그램들을 다시 설치해야한다.
수업 첫 내용이기도 하니까 복습 겸 정리해보자.
학원 수업에선 Oracle JDK를 사용하기에 기존에 깔려있는 Open Jdk인 amazon Corretto 먼저 삭제.
난 새 노트북이라 할 필요는 없지만 공용pc라면 기존 설치된 JDK가 있는지 확인이 필요하다.
1. 관련 프로그램 다운로드
1-1.이클립스
1-2.oracle jdk 다운로드
https://www.oracle.com/java/technologies/downloads/#java11-windows
windows ->바로 실행할 것이니 둘 중 Installer 파일로 다운로드.
2.설치
2-1.이클립스 설치
별건 없고, 압축풀고 exe 실행파일로 설치파일 실행하면 된다.
실행하면 여러가지 뜨는데, Eclipse IDE for Enterprise Java and Developers로 설치.
위의 for Java Developer로 설치해도 교육목적으론 문제가 없는 것 같다.
설치 후 실행하면 workspace 경로 지정. 나의 경우는 가장 편한 위치인 로컬디스크 C에 WoRKSPACE-Ju로 지정.
2-2. 오라클 jdk 설치 및 시스템변수 설정.
*오라클jdk 기본 설치경로 기억, 복사해두면 편하다.
나의 경우 기본 경로인 C:\Program Files\Java\jdk-11로 하였다.
이후 환경변수 설정을 해줘야한다.
제어판->환경변수 검색
을 해도 되고,
win11에서는 그냥 시작창에서 '고급'까지만 검색하면 고급 시스템 설정이 나온다.
열기 -> 환경변수를 누르면 아래창이 뜬다.
이때 위의 사용자변수 칸은 사용자에만 국한되는 변수이고 시스템변수는 모든 사용자에게 열리는 변수이다.
즉, 아래가 상위호환이라고 볼 수 있다. 이 때의 사용자는 LOG-OUT하면 선택하는 창이 뜨는, 같은 OS 안에서의 사용자를 뜻한다.
아래칸 시스템 변수에서
(1) 새로만들기 -> 변수 : JAVA_HOME / 값 : C:\Program Files\Java\jdk-11
(2) 변수에서 Path 찾아서 편집 -> 새로만들기 -> %JAVA_HOME%\bin 추가, 맨 위로 올리기.
이제 제대로 설치 되었는지 확인
win+r -> cmd -> java -version / javac -version 입력해서 확인
그리고 잘 설치한 이클립스에서 잘 출력 되는지 확인.
잘 출력된다.
3.기타 궁금증
Q1.같은 JDK아닌가? 왜 OpenJDK를 지우고 Oracle JDK를 설치했을까? 무슨 차이일까.
https://lindarex.github.io/concepts/difference-between-oraclejdk-openjdk/
자세히 파고들 내용은 아닌 것 같은데, 지금처럼 교육용으론 제한적인 라이센스더라도 안정적인 Oracle JDK가 더 좋은 듯하고,
나~중에 실무에 가게되면 라이센스 문제에 걸리지 않기위해서 Open JDK를 설치해 사용해서 써야겠다.
Q2. 환경변수, 시스템변수같은건 왜 설정해야하는거지?
https://hyoje420.tistory.com/7
- 책도 찾아보고 여러 문서도 찾아봤는데 이해하기가 힘들었다. 다행히 위 블로그에서 이해하기 쉽게 설명해주셨다.
JAVA_HOME은 상대주소를 만들기 위해 생성하는 것이고, 그래서 Path에서 %JAVA_HOME%\란 값을 참조하는 것.
이렇게 설정을 해두면 앞으로 JDK버전을 바꾸더라도 JAVA_HOME의 위치만 바꿔주면 시스템이 알아서 잘 찾아갈 것이라는 거. 그래서 결국 위에서는 JAVA_HOME, Path 두개를 설정했지만 사실 이 두가지를 수정한 목적은, 자바가 설치된 폴더(JAVA_HOME)에 있는 bin폴더의 java.exe와 javac.exe의 경로(Path)를 설정해준 것.
그럴 일은 없겠지만, 만일 같은 OracleJDK가 업데이트되면서 java.exe와 javac.exe가 bin폴더에 있지 않다면 JAVA_HOME의 경로뿐만 아니라 Path값도 모두 수정해줘야한다.
Q3. 다른 글들 보면 CLASS_PATH도 설정하던데, 왜 따로 CLASS_PATH는 설정하지 않지?
환경변수 설정 관련해서 여러 글을 찾아보면 시스템 변수에 CLASS_PATH 와 %JAVA_HOME%\lib 경로를 설정해놓고 cmd에서 echo %CLASSPATH% 를 통해 확인도 하던데, 수료 중인 학원이나 교재에서는 별도로 언급이 없었다. 불안해서 여러모로 찾아봤는데, classpath를 설정하는 게시글들의 대부분이 최소 3년 전에 쓰여진 글들이 많고,
위에 링크한 환경변수 게시글에서도
JVM은 CLASSPATH의 경로를 확인하여 라이브러리 클래스들의 위치를 참조하게 된다. 그러나 J2JDK 버전부터는 \jre\lib\ext 폴더에 필요한 클래스 라이브러리들을 복사해 놓으면 사용가능하여 특별한 경우가 아니면 설정을 하지 않는다.
라고 적어놓은 것을 보면 최신버전에 들어오면서 classpath를 설정해줘야 할 필요성이 없어진 듯하다.
문제가 생기면... 하게되겠지.
이거 관련해 여러군데 찾아보면서 기본적인 컴퓨터 용어나 자바용어를 제대로 알지 못해 답답했다.
단순히 코딩을 배우는 것 외에도 여러 이론적인 공부가 필요함을 느낀다.
'About Dev. > Env.' 카테고리의 다른 글
이클립스(STS4) 개발환경 셋팅 for me (0) | 2023.09.01 |
---|---|
이클립스(STS4)에서 Servlet 설치 및 파일 생성 방법 (0) | 2023.08.31 |
(상시 수정) 단축키 정리 (1) | 2023.07.26 |
Java GUI 쉽게 만들 수 있는 window Builder (0) | 2023.07.07 |
Gson (0) | 2023.07.04 |
반복되는 코드를 자동작성해주는 'Lombok' (0) | 2023.07.03 |