IntelliJ의 Java 프로젝트에서 실행 파일을 배포할 때 Runnable JAR로 배포해야합니다. 그 이후에, Runnable JAR를 직접 실행하여 프로그램을 실행할 수 있고, 또는 Windows의 실행파일인 exe 파일로 만들 수도 있습니다.
IntelliJ의 Java 프로젝트를 빌드하여 Runnable JAR를 생성하는 방법을 소개합니다.
1. Runnable JAR에 대한 Artifact 생성
Runnable JAR를 빌드하려면, 먼저 Runnable JAR에 대한 Artifact를 생성하고, 그 Artifact로 빌드하면 됩니다.
Java 프로젝트에서 [File] -> [Project Structure]
에 들어갑니다.
아래와 같이 Artifacts -> Jar -> From modules with dependencies
순서로 클릭합니다.
그럼 다음과 같이 Artifact를 생성하는 설정 화면이 보이는데요, Main Class는 Jar가 실행될 때 호출되는 public static void main(String[] args)
메소드를 의미합니다.
이것을 설정하지 않으면 Jar를 실행해도 수행되는 코드가 없습니다. 그리고 JAR files from libraries에서 extract to the target JAR
를 선택하면 모든 dpendency JAR 파일들이 하나의 JAR로 합쳐져 빌드가 됩니다. copy to the out directory and link via manifest
를 선택하면 모든 dependency JAR 파일들이 Executable JAR가 있는 폴더에 포함됩니다. 모두 선택했다면 OK를 누르세요.
마지막으로 아래 화면이 보이며, 의존성 설정이 잘되어있다면 OK를 누릅니다.
이제 Runnable JAR에 대한 Artifact가 생성되었습니다.
2. Runnable JAR 빌드
다음과 같이 [Build] -> [Build Artifacts...]
에 들어갑니다.
화면 가운데 다음과 같은 메뉴가 보입니다. 여기서 [Artifact name] -> [Build]
를 누르면 Executable JAR가 빌드됩니다.
내 프로젝트의 디렉토리에서 out > artifacts > my artifact name
에 들어가시면 Executable JAR가 생성된 것을 확인할 수 있습니다.
이 JAR를 직접 실행하셔도 되고 exe로 만드셔도 됩니다.
3. Runnable JAR를 exe 파일로 만들기
Launch4j라는 프로그램을 이용하여 Runnable JAR를 exe 프로그램으로 만들 수 있습니다. 자세한 것은 Launch4j 툴 사용 방법을 확인해주세요.
Related Posts
- Java - Unsupported class file major version 61 에러
- Java - String.matches()로 문자열 패턴 확인 및 다양한 예제 소개
- Java - 문자열 공백제거 (trim, replace)
- Java - replace()와 replaceAll()의 차이점
- Java - ArrayList 초기화, 4가지 방법
- Java - 배열 정렬(Sorting) (오름차순, 내림차순)
- Java - 문자열(String)을 비교하는 방법 (==, equals, compare)
- Java - StringBuilder 사용 방법, 예제
- Java - 로그 출력, 파일 저장 방법 (Logger 라이브러리)
- Java IllegalArgumentException 의미, 발생 이유
- Java - NullPointerException 원인, 해결 방법
- Seleninum의 ConnectionFailedException: Unable to establish websocket connection 해결
- Java - compareTo(), 객체 크기 비교
- Java - BufferedWriter로 파일 쓰기
- Java - BufferedReader로 파일 읽기
- Java charAt() 함수 알아보기
- Java - BigInteger 범위, 비교, 연산, 형변환
- Java contains()로 문자(대소문자 X) 포함 확인
- Java - Set(HashSet)를 배열로 변환
- Java - 문자열 첫번째 문자, 마지막 문자 확인
- Java - 문자열 한글자씩 자르기
- Java - 문자열 단어 개수 가져오기
- Java - 1초마다 반복 실행
- Java - 배열을 Set(HashSet)로 변환
- Java - 여러 Set(HashSet) 합치기
- Java - 명령행 인자 입력 받기
- Java - 리스트 역순으로 순회, 3가지 방법
- Java - 특정 조건으로 리스트 필터링, 3가지 방법
- Java - HashMap 모든 요소들의 합계, 평균 계산
- Java - 특정 조건으로 HashMap 필터링
- Java - 싱글톤(Singleton) 패턴 구현
- Java - 숫자 왼쪽에 0으로 채우기
- Java - String 배열 초기화 방법
- Java - 정렬된 순서로 Map(HashMap) 순회
- Java - HashMap에서 key, value 가져오기