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