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

자바를 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 버젼의 최소, 최대 사양을 지정하는 겁니다.

 

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

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

 

 

 

처음에 이 짓을 하다가 몇 시간 고생을 해서 저도 잊지 않고

혹시 저 같은 분들이 있을까봐 올립니다.

저 같은 경우에는 엄한곳에서 실수를 하고 다른곳가서 땅팠는데

다른 분들은 그러시지 않기를 바랍니다.

+ 이 자료는 퍼 왔다기 보다는 여러 자료들을 보고 제가 알아보기 편하게(;) 재작성한것입니다.

저작권은 제 컴퓨터한테 있습니다.

by 해오른누리 | 2006/08/10 17:51 | │기타 | 트랙백 | 덧글(7)

트랙백 주소 : http://hayashi18.egloos.com/tb/2535436
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 엘샤이아 at 2006/09/19 23:13
ㅇㅅㅇ. . 네?!!;
Commented by 해오른누리 at 2006/09/19 23:15
엘샤 // 헉.. 갑자기 댓글이 떴다...
Commented by 발림 at 2006/11/03 02:50
해오른 누리님 jar파일을 어떤방식으로 묶어야 쓸수있는지 알려주시겠습니까 manifest.mf이 파일이 있다던데 알집으로 엿보았더니 다른폴더에 있습니다
manifest.mf 이것을 어떻게 덮어 씌운다는 것인지 도통 모르겠습니다

자세히좀 알려주시겠습니까??
제 메일은 redcarrot100@naver.com 입니다
Commented by Toris at 2006/11/03 18:19
헉... 은둔고수에게 질문하는 ... 호호호 누리님 인기인 되셨네요
Commented by 애배배배배배배 at 2007/09/30 00:16
L:L?

EXE파일로 변환시 좋은점은뭐죠?
Commented by iamnotokay at 2008/01/28 15:14
정말감사합니다..ㅠㅠ 이 자료 정말 필요했거든요.
Commented by 제발 ㅠ at 2008/10/02 15:27
만들어줬는데요.... 그림들이 안나와요 ㅠㅠ 그림은 또 따로 어떻게 해줘야하나요??

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶