본문 바로가기

Java SE/Executable JAR

Executable JAR

/* jar 포맷으로 압축된 파일 안에 존재하는 클래스의 main()을 실행하는 경우*/

package test.com.koreait;

public class HelloWorld  {
 public static void main(String[] args)
 {
  System.out.println("Hello World!");
 }
}

패키지 컴파일
위와 같은 소스파일을 다음과 같이 패키지 컴파일하고 그 결과 test 패키지가 생성된 것을 확인한다.
javac -d . HelloWorld.java<enter>

Manifest 파일 생성
다음과 같은 명령을 이용하여 커스텀 MF 파일을 하나 생성한다.
c:\JavaTest>echo Main-Class: test.com.koreait.HelloWorld>hello.mf<enter>

참고:
1. 위의 명령에서 Main-Class:과 test 사이에 공백문자가 하나 들어가야 한다.
2. HelloWorld>hello.mf 사이에는 공백문자가 들어가면 안된다.

JAR 압축실행
hello.mf, test 를 포함하여 hello.jar 파일로 압축한다
c:\JavaTest>jar -cvfm hello.jar hello.mf test<enter>

참고: -cvfm 옵션에 선언된 순서대로 f(압축파일명), m(Manifest파일명) 아규먼트를 나열해 주어야 한다.

JAR 실행
명령으로 JAR파일을 실행한다.

c:\JavaTest>java -jar hello.jar<enter>