본문으로 바로가기

[IntelliJ] JAR 파일 생성하기

category IT/IntelliJ IDEA 2020. 4. 21. 04:54

IntelliJ IDEA를 이용하여 Java 프로젝트를 Jar파일로 내보내는 방법을 정리해 보겠습니다.

 
참고로 JAR(Java Archive) 파일이란  .jar 확장자 파일에 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있어 JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일입니다.
 
JAR ( Java Archive ) / WAR ( Web Application Archive ) / EAR (Enterprise Archive) 파일의 특징,차이점에 관련된 내용이나 예제에서 사용하는 IntelliJ 에서 Java Project 생성에 대해 궁금하신 분들은 아래 포스팅을 참고바랍니다.
 

[Java] JAR WAR 차이점 및 특징 ( + EAR )

JAR (Java Archive) WAR (Web Application Archive) 모두 JAVA의 jar 툴을 이용하여 생성된 압축(아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 있도록 관련 파일(리소스, 속성파일 등).

ifuwanna.tistory.com

 

[IntelliJ] Java 프로젝트 생성하기 (HelloWorld 출력)

JetBrains의 대표 IDE인 IntelliJ IDEA 를 이용하여 자바(Java Application) 프로젝트를 생성하여 HelloWorld를 출력하는 방법을 간략하게 포스팅 해보도록 하겠습니다. 참고로 인텔리제이(IntelliJ IDEA)는 우리..

ifuwanna.tistory.com

 
그럼 먼저 Jar파일을 생성할 Java 프로젝트를 열어  File > Project Structure 설정창을 오픈합니다.  (단축키 ⌘;

프로젝트 구조(Project Structure) 창의 좌측 Project Settings > Artifacts 를 선택 한 뒤 ADD버튼(+)을 눌러  JAR > From modules with dependencies… 를 선택해 주세요.
 
생성할 JAR파일의 모듈을 선택하는 화면입니다. Jar 파일을 생성할 대상 모듈을 선택하고 해당 모듈의 Main Class 를 선택해 주세요. 예제에서는 프로젝트의 메인모듈은 HelloWorld 이며 메인 클래스명은 HelloWorldMain 입니다.
 
모듈 선택이 완료 됐으면 Jar 파일이 출력될 경로(Output directory)와 Layout을 확인하고 OK버튼을 눌러주세요.
 
Artifacts 설정이 완료 되었으면 Build > Build Artifacts 를 선택한 뒤 HelloWorld > Build Action 을 클릭하여 빌드해 줍니다. 

빌드가 성공적으로 완료 되면 아까 프로젝트 구조화면에서 세팅 했던 output 경로인 out > artifacts 폴더에 HelloWorld.jar 파일이 정상적으로 생성 된 것을 확인 할 수 있습니다.
 
그럼 생성된 JAR 파일이 정상적으로 실행되는지 확인해 볼까요?
상단 메뉴에서 Run > Edit Configurations 를 선택(⌘⌥+R )하여 실행 설정 (Run Configurations) 창의 좌측 add버튼(+)를 클릭 후 JAR Application을 추가해 줍니다.
 
추가된 JAR Application의 우측 상세 설정항목에서 이름(name)과 JAR 파일의 경로(Path to JAR) 를 설정해 줍니다.
그리고 실행 전 해당 JAR 파일의 모듈을 다시 빌드 후 Jar을 최신화 하여 실행 하기 위하여 하단 Before launch > add(+) >  Build Artifacts 를 선택하여 실행 전 해당 JAR 파일의 모듈을 빌드 하도록 설정해 줍니다.
 
설정한 JAR Application을 실행해 보면 생성된 HelloWorld.jar 파일이 정상적으로 실행되어 콘솔에 HelloWorld가 출력되었습니다. 콘솔을 자세히 보시면 java 실행시 -jar 옵션이 추가되었으므로  jar 파일 실행으로 인한 결과 인 것을 확인하실 수 있습니다.