[Java] JAR 만들기

Published: by Creative Commons Licence

JAR = Java ARchive

폴더 기준으로 생성 클래스 파일들의 최상위 폴더와 동일한 위치에 manifest.txt란 파일을 생성한다. 파일 내용은 없어도 괜찮다.

이후 같은 폴더 내에서 CMD 실행, 다음처럼 입력한다:

jar cvfm demonstration.jar manifest.txt org

manifest.txt를 메타정보로 참조하고 org 폴더 하위의 모든 폴더와 클래스(org 포함)를 포함하는 demonstration.jar라는 이름의 JAR를 생성한다는 의미다.

manifest

manifest는 JAR의 성격과 기능을 정의하는 메타파일이다. 별도의 옵션을 지정하지 않으면 자동으로 생성된다. 자동 생성될 때는 JAR 파일 내의 META-INF/MANIFEST.MF로 생성된다.

TODO manifest 옵션 설명 추가

  • Manifest-Version: manifest 버전
  • Archiver-Version
  • Created-By
  • Built-By
  • Build-Jdk
  • Main-Class: main 메서드가 위치한 클래스의 패키지.클래스 형식(com.test.MainTest)으로 명시한다. 이 값이 있으면 java -jar 명령으로 jar 파일을 직접 실행할 수 있다.
  • Implementation-Vendor
  • Implementation-Version
  • url
  • Bnd-LastModified
  • Bundle-Classpath
  • Bundle-Copyright
  • Bundle-Description
  • Bundle-DocURL
  • Bundle-License
  • Bundle-ManifestVersion
  • Bundle-Name
  • Bundle-RequiredExecutionEnvironment
  • Bundle-SymbolicName
  • Bundle-Vendor
  • Bundle-Version
  • Export-Package

Runnable JAR

runnable JAR (혹은 executeable JAR)는 java 명령어 없이도 애플리케이션을 실행할 수 있도록 만들어진 JAR 파일을 말한다.

이 사이트에서 jar를 다운받은 후 더블 클릭해보자. java 디컴파일러가 실행될 것이다. (GUI 컴포넌트인 Swing을 이용해 작성된 runnable JAR 파일이다.)