서론
jdk 1.7 을 쓰다가 1.8을 써야하는 상황이 와서,
1.8을 설치하려고 하는데,
/usr/local/java...
/usr/bin/java/...
/usr/lib/jvm/...
뭐가 이렇게 디렉토리가 많아;;
두어시간을 해맸다.
/etc/profile 에서 export $JAVA_HOME 을 설정해도
java -version 하면 계속 1.7 만 나온다. 개빡친다
순서:
- jdk tar 파일 압축해제
- 환경변수 세팅
- update-alternatives 명령어로 버전 컨트롤
처음 시작하는 분들은 차근차근 보시고,
0. 다운로드된 jdk tar 파일을 준비한다.
1. 가장 처음 tar.gz 파일의 압축을 풀어야한다.
tar xvzf jdk-7u75-linux-x64.tar.gz
# tar 명령어 옵션 xvzf 의 의미가 궁금하다면 이 블로그에 잘 정리되어있다.
2. 압축 해제된 폴더를 /usr/local/java 에 mv 로 옮긴다.
/usr/local/java 는 형식적으로 프로그램을 모아두는 곳일 뿐,
시스템이 알아서 여기를 참고해서 실행시키고 그런건 없다.
그저 국룰이다.
3. vi /etc/profile 환경변수 세팅
편집기를 열어서 마지막줄에
JAVA_HOME=/usr/local/java/jdk1.7.0_75
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
를 추가한다. 환경변수 세팅이다.
4. source /etc/profile
을 해줘야 반영이 된다.
확인 하고 싶을 땐 echo $JAVA_HOME 을 입력하자.
여기까진 "세팅"이다. "설치"는 아직 안됐다.
앞에 모든 것은 파일을 들여와서 놓는 세팅일 뿐이다.
자바 실행 해보기
결국 실행되는 java 프로그램은 /usr/bin/java 이다.
이 java의 버전이 java -version 의 버전이고 실행되는 java의 버전이다.
여기에 있는 java의 버전을 바꾸기 위해선 update-alternatives 명령어를 써야한다.
리눅스 시스템에게 java의 위치를 지정하는 명령어 (모든 사용자를 위한 심볼릭 링크걸기)
# 명렁어 사용법: alternatives --install <링크> <이름> <경로> <우선순위>)
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_75/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_75/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.7.0_75/bin/javaws" 1
# 명렁어 사용법: alternatives --set <이름> <경로>
sudo update-alternatives --set java /usr/local/java/jdk1.7.0_75/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_75/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_75/bin/javaws
물론 디렉토리 이름의 1.7.0 이런건 본인 java 버전에 맞게 바꿔줘야한다.
추후 다른 자바 버전을 혼용할 때
alternatives --set java /your/path/to/jdk1.2.3.4/bin/java로
설치된 자바를 선택해 버전 컨트롤이 가능하다
참고글:
m.blog.naver.com/gyrbsdl18/173065238
도움이 되셨다면 ♡공감 ↓광고클릭으로 저를 응원해주세요!!! :D
'개발 > Linux & DevOps' 카테고리의 다른 글
잘생긴 로그 수집기, Fluentd 플루언트디 (0) | 2021.01.27 |
---|---|
PHP는 서버가 없어도 돌아가네? (닷홈, 000webhost, AWS) (0) | 2020.12.24 |
리눅스 vs 윈도우 디렉토리 별 역할 비교! (0) | 2020.12.24 |
오픈소스 / 유무료 로그 통합 관리 프로그램 (0) | 2020.12.22 |
서버운영: 서비스서버와 디비서버를 따로 두는 이유 (0) | 2020.11.16 |