본문 바로가기
프로그래밍/java

Java Application, jar 압축 및 윈도우 .execute 로 래핑

by Super User 2009. 12. 14.
자바를 exe 형태로 만들기 위해서는 몇 가지 작업이 필요하다.
우선 완성된 클래스 파일들을 jar 형식으로 묶어줘야하며
jar 형식으로 완성된 파일을 exe로 래핑 해줘야한다.

1. jar 만들기

jar 프로그램의 기본적인 명령 순서는 다음과 같다.
jar <option> <target_file> <src_files>

cmd 에서의 command )  jar cvf Grade.jar .
현재 디렉토리의 파일들을 jar로 압축한다.

압축을 한 후에는 실행을 시켜도 실행이 되지 않는다.
에러 메시지를 살펴보면 main 메소드를 찾지 못해서라는 걸 알 수 있다.

이 때 필요한 파일이 manifest.mf 이다.
Grade.jar 파일의 내용을 살펴보면(winzip) manifest.mf 파일이 있는것을
알수 있는데 그 내용을 살펴 보면 다음과 같은 정보를 포함 하고 있다.

Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)

바로 그곳에 main 메소드가 포함 된 클래스를 가르쳐 주는 다음과 같은 구문을 추가하는것이다.

Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)

Main-Class: GradeCal

%GradeCal은 제가 만든 프로그램의 메인 클래스입니다. %
Main-Class: main 메소드가 포함된 클래스 파일(.class 는 빼준다)

중요한것은 이미 압축된 jar 안에 어떻게 Main-Class: GradeCal 를 포함한
manifest.mf 파일로 바꿔줄 수 있을것인가에 대해서다.

cmd 에서의 command )  jar umf manifest.mf Grade.jar
현 디렉토리내에 있는 manifest.mf를 Grade.jar에 압축되 있는 manifest.mf 에 덮어쓴다.

이제 완성이 됐으면 제대로 동작하는지 확인을 해보자.

cmd 에서의 command )  java -jar Grade.jar


2. jsmooth (jar -> exe 래핑)
jsmooth tool : jsmooth-0.9.7.zip

사용법은 비교적 간단합니다.
우선 제가 한 설정한 캡쳐화면과 설정 파일을 첨부합니다.

ex set : ex.jsmooth




제 경우에는 윈도우 어플리케이션으로 잡아줬습니다.

하지만 콘솔로 잡아줘도 Frame 뜨고 다 됩니다.

다만 윈도우 어플리로 잡아주면 콘솔에 뜨는 에러 메시지 등이 안나오죠.

 

바이너리는 생성시킬 실행파일 이름입니다. 지명한 이름으로 생성이 되죠.

아이콘은 다들 아실꺼고... 다음!

 

중요한 부분입니다. jar 구겨넣기에서 위에서 생성한 jar 을 추가해줍니다.

이후 메인클래스를 정할 때 jar 안에 있는 클래스 목록들이 나오는데

잘 선택을 해주면 됩니다.

 

 

최소버젼과 최대버젼은 생성된 애플리케이션을 실행시킬

jre 버젼의 최소, 최대 사양을 지정하는 겁니다.

 

이렇게 설정을 다 해주셨으면 위에 컴파일을 누르시면

아까 바이너리에서 지정한 곳에 지정한 파일로 생성이 됩니다.




출처 : http://hayashi18.egloos.com/2535436