본문 바로가기

개발

Install java on CentOS

Install java on CentOS

java 설치

java -version 를 입력하여 자바가 설치되어 있는지 확인한다. 설치되어 있다면 자바 버전을 보여준다.

먼저 현재 OS에 설치할 수 있는 자바를 확인한다.

yum list java* 자바관련 패키지 목록을 보여준다. 이미 설치되어 있는 패키지는 목록에 나타나지 않는다.

yum install java-1.6.0-openjdk.x86_64 자바 실행환경을 설치한다. 윈도우에서 JRE에 해당한다. 참고로, java-1.6.0-openjdk-devel.x86_64 자바 SDK이다.

설치후 java -version 제대로 설치되었는지 확인한다.

which java 자바 환경설정을 위해 설치된 위치를 확인한다. /usr/bin/java 처럼 자바가 설치된 경로를 보여준다.

java -version
yum list java*
...
yum install java-1.6.0-openjdk.x86_64
java -version
which java

아직은 설치된 경로안에서만 명령어를 실행할 수 있다. 디렉토리에 구애받지 않고 실행하기 위해 환경설정을 해주어야 한다. vi /etc/profile 로 설정파일을 열어서 가장 아래로 이동한다. 자바를 위한 경로를 추가한다.

vi /etc/profile
...
unset i
unset pathmunge
여기서부터 아래 코드 추가
export JAVA_HOME=/usr/bin/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH="."

경로구분자 콜론(:) 윈도우와 다르게 /etc/profile 안에서 경로를 구분하기 위해 콜론(:)을 사용한다.

자바SDK를 설치하였으면 단순하게 코드 입력, 컴파일, 실행을 통해 정상작동 여부를 확인할 수 있지만, 여기서는 실행환경만 설치하였으므로 다른 곳에서 컴파일한 클래스 파일HelloWorld.class을 가져와서 실행시켜 본다.

java HelloWorld의 결과가 제대로 나타나는지 확인한다.

java HelloWorld
Hello, World

주의

  • java HelloWorld.class 처럼 입력하면 원하는 결과가 나오지 않는다. 자바는 HelloWorld 디렉토리에서 뭔가를 찾다가 실패한다. 자바 프로그래밍할 때 패키지 import 를 떠올려 보면, 마침표(.)를 경로 찾는데 사용한다는 걸 알 수 있다. 같은 이유로 HelloWorld 디렉토리 안에 있는 class 라는 이름을 가진 바이트 코드를 찾다가 실패하는 것이다.
  • Compile JDK vs Run JRE 컴파일에 사용한 JDK 버전이 실행하는 JRE 버전보다 상위버전이면 에러가 발생한다. 위에서 처럼 단순히 정상실행 여부를 확인하기 위한 바이트 코드를 윈도우에서 만들어서 올렸는데, 윈도우에서 사용한 JDK 버전이 리눅스의 JRE 버전보다 최근 버전이면 리눅스에서 실행할 수 없다. JDK 1.7x에서 만든 바이트 코드는 JRE 1.6x에서 에러를 내놓는다.

컴파일할 때 실행할 환경의 버전에 맞춰 컴파일한다.

javac -source 1.5 -target 1.5 HelloWorld.java


반응형