순간이 영원해 지는 곳

자바(java) jar 파일 실행과 배포 본문

끄적끄적

자바(java) jar 파일 실행과 배포

nenunena 2010. 12. 3. 17:59


한개의 클래스 파일만 있는 경우엔
커맨드 창에서

java main.class

를 입력하면 실행이 되지만 프로그램에서 사용하는 클래스가 여러개인 경우엔 실행이 되지 않는다.

아래 방법은 여러개의 클래스를 사용하는 자바 프로그램을 커맨드 창에서 실행하는 방법이다.
또한 외부 jar 파일에 포함된 클래스를 사용하는 경우에도 main메소드가 포함된 클래스를 jar 파일로 만들어서 실행할 수 있다.

참고로 jar 파일에 있는 클래스에 특정 패키지에 속한다는 것을 명시해 두었다면, jar 파일에 클래스를 넣을때 명시한 패키지명과 같은 디렉토리안에 클래스를 넣고 함께 jar파일로 만들어야 한다.

main.class
pack/sub.class    
// sub 클래스는 pack 이라는 패키지에 속함
bin/poo.jar        // poo, bar 안에 있는 클래스는 bin 패키지와 관련 없음. main 클래스에서 사용하는 클래스를 포함하고 있는 jar 파일들
bin/bar.jar

main.class 파일에서 sub.class와 나머지 2개의 jar 파일에 있는 클래스를 사용하는 경우,
우선 다음과 같이 manifest.txt 파일을 만든다. 맨 마지막줄은 반드시 그냥 엔터를 쳐 주어야 한다.
sub.class 같은 class 파일은 하위 디렉토리에 있는 경우에도 Class-Path를 지정하지 않아도 된다.

* manifest.txt 파일내용(띄어쓰기에 주의)
Main-Class: main
Class-Path: ./bin/poo.jar ./bin/bar.jar
공백줄

main.class 파일과 같은 위치에 manifest.txt 파일을 두고 커맨드 창에서 다음과 같이 입력하면 main.jar 파일이 생성된다. 이 경우 poo.jar, bar.jar 파일은 main.jar 파일에 포함시키지 않는다.

jar cmf manifest.txt main.jar main.class ./pack/sub.class

당연히 자바 개발환경은 갖춘 상태여야 jar 명령이 실행될 것이다.

이제 실행하는 일만 남았다.
아래와 같이 커맨드 창에 입력하면 실행이 된다.

java -jar main.jar



Comments