본문 바로가기

웹프로그래밍/java

[Windows/Linux/Unix] cmd/터미널 에서 폴더를 jar파일 생성하기

Java에서 jar 명령어를 사용해 JAR 파일을 만드는 방법은 다음과 같습니다. 이 과정은 소스 파일을 컴파일한 후 결과 .class 파일들을 JAR 파일로 묶는 방식입니다.

1. JAR 패키징 준비


디렉토리 구조 예시

프로젝트 디렉토리가 다음과 같다고 가정합니다:

project/
├── src/
│   ├── com/
│   │   └── example/
│   │       ├── Main.java
│   │       └── Utility.java

   •   Main.java가 진입점이고, 패키지 이름은 com.example입니다.

2. 컴파일


javac 명령어를 사용해 .java 파일을 .class 파일로 컴파일합니다.

javac -d out src/com/example/*.java

명령어 설명
   •   -d out: 컴파일된 클래스 파일을 out 디렉토리에 저장합니다.
   •   src/com/example/*.java: 컴파일 대상 Java 파일들.

결과 디렉토리:

out/
├── com/
│   └── example/
│       ├── Main.class
│       └── Utility.class

3. JAR 파일 생성


명령어

다음 명령어로 JAR 파일을 생성합니다:

jar -cvf MyApp.jar -C out .

명령어 설명
   •   -c: 새 JAR 파일을 생성합니다.
   •   -v: 생성 과정을 자세히 출력합니다.
   •   -f MyApp.jar: 생성할 JAR 파일 이름을 지정합니다.
   •   -C out .: out 디렉토리의 내용을 기준으로 JAR 파일을 만듭니다.

결과:
MyApp.jar 파일이 생성됩니다.

4. 실행 가능한 JAR 만들기


실행 가능한 JAR 파일을 만들기 위해서는 Main-Class를 지정한 manifest 파일이 필요합니다.

1) 매니페스트 파일 생성

manifest.txt 파일을 생성하여 아래 내용을 작성합니다:

Main-Class: com.example.Main

   •   주의: Main-Class 뒤에 공백을 추가해야 합니다.

2) JAR 파일 생성

jar 명령어에 매니페스트 파일을 포함합니다:

jar -cvfm MyApp.jar manifest.txt -C out .

   •   -m manifest.txt: manifest.txt 파일을 포함합니다.

5. 실행


실행 명령어

java -jar MyApp.jar

이 명령어로 JAR 파일의 Main-Class에 지정된 클래스를 실행할 수 있습니다.

6. 여러 라이브러리를 포함한 JAR 생성


모든 라이브러리 포함 시

외부 JAR 라이브러리(lib/library.jar)를 포함하려면, MyApp.jar에 함께 추가합니다:

jar -cvfm MyApp.jar manifest.txt -C out . -C lib .

또는 라이브러리는 따로 관리하고 클래스 경로를 설정해 실행합니다:

java -cp MyApp.jar:lib/library.jar com.example.Main

반응형