Recent Posts
Recent Comments
Link
06-30 12:53
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JAVA 콘솔 application 리눅스 실행 시 참고 사항 본문

DEV&OPS/Java

JAVA 콘솔 application 리눅스 실행 시 참고 사항

ALEPH.GEM 2022. 11. 7. 19:20

JAVA application Export runnable jar

자바 어플리케이션을 실행가능한 jar 파일로 만들 때 manifest 파일(MANIFEST.MF)에 메인 클래스를 지정해줘야 합니다.

https://iloveaired.tistory.com/entry/Jar-manifest-%ED%8C%8C%EC%9D%BC-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0

 

Jar manifest 파일 등록하기

예) Manifest-Version: 1.0 Main-Class: XXXXX

iloveaired.tistory.com

https://m.blog.naver.com/eungsik80/220054805497

 

jar 파일 생성 시 MANIFEST.MF 작성

jar 파일 생성 시 MANIFEST.MF 작성JAVA 2009/03/05 08:56 파일 위치 및 명령어 실행 위치 ...

blog.naver.com

하지만 main () 메서드가 여러개인 경우 class 파일을 따로 따로 실행해야 할 때 도 있습니다.

그럴 때는 jar 파일을 압축을 풀어서 실행할 클래스를 별도로 실행해주면 됩니다.

Runnable JAR file Export

 

jar 파일로 Export(컴파일)

 

 

 

리눅스(Centos)에 jar 설치

CentOS7을 설치한 경우 기본적으로 OpenJDK8이 설치되어 있습니다.

이 것으로 컴파일과 실행은 가능하지만 jar명령어(실행기)는 기본적으로 설치되어 있지 않습니다.

그래서 jar를 사용하기 위해 OpenJDK를 다시 설치 해야 합니다.

참고로 jar 명령어(실행기)는 runnable jar 실행,및 압축/압축해제, jar파일 업데이트 등의 기능이 있습니다.

물론 이미 JDK(oracle)가 설치되어 있다면 다시 설치할 필요는 없습니다.

 

설치가능한 JDK 목록 확인

$ yum list java*jdk-devel

openJDK 다시 설치(jar 포함)

$ yum install java-1.8.0-openjdk-devel.x86_64

참고로 java-1.8.0-openjdk가 JRE이고 java-1.8.0-openjdk-devel 이 JDK 입니다.

 

 

 

프로젝트를 Export 한 jar 파일을 리눅스에 업로드

프로젝트를 export한 jar 파일(예: parse.jar)을 리눅스의 특정 경로에 업로드 합니다.(예: /data/jar)

위에서 설치한 JDK의 jar를 이용해 parse.jar의 압축을 풉니다. 

$ cd /data/jar
$ jar -xvf parse.jar

 

 

CLASSPATH 등록

리눅스의 모든 사용자에 대하여 CLASSPATH를 등록하려면 root 계정으로 /etc/profile을 편집합니다.

리눅스의 특정 사용자에 대하여 CLASSPATH를 등록하려면 ~/.bashrc 혹은 ~/.bash_profile 을 편집합니다.

편집 예)

export CLASSPATH=$CLASSPATH:/data/jar:기타다른경로들

변경된 CLASSPATH 적용은

전체 사용자일 경우는

source /etc/profile

특정 사용자일 경우는

source ~/.bashrc

혹은

source ~/.bash_profile

를 입력하면됩니다.

 

 

 

리눅스 콘솔에서 .class 실행

위에서 등록한 CLASSPATH(예: /data/jar/)에서 실행합니다.

$ java 패키지이름.실행할자바클래스이름

확장자인 .class는 생략해서 실행 해야 합니다.

 

 

 

 

 

 

 

 

 

 

 

728x90

'DEV&OPS > Java' 카테고리의 다른 글

이클립스 주석 템플릿 예제  (0) 2022.12.15
Spring Security Bcrypt  (0) 2022.12.12
JAVA 코딩 컨벤션  (0) 2022.10.20
JAVA 스레드 없이 지연 sleep() 시키기  (0) 2022.09.07
Spring boot todo - REST API Service  (0) 2022.08.31