※ JSmooth를 이용하여 class파일을 exe파일로 만들고

InstallFactory를 이용하여 JRE도 설치하자. ※

1. 목적

난 ASP, C, C++, API, MFC를 학원에서 배웠다. 자바는 혼자 책보고 독학했다.

난 ASP, C, C++, API, MFC 모두 싫어한다.

ASP는 문법자체가 VB문법이라서 싫어하고 C, C++, API, MFC는 메모리해제를

내 손으로 직접한다는것이 싫다.

그래서 나는 자바를 좋아한다. 솔직히 자바가 아니면 먹고 살게 없다.

그런데 자바는 서버쪽에서는 어마어마한 힘을 발휘하지만 윈도우를 운영체제로

사용하는 PC에서는 큰 힘을 발휘하지 못했다.(아님 말고...)

모두들 알다시피 자바는 JRE가 설치돼 있어야지 돌아간다.

지금까지 문제는 JRE가 설치되어 있지 않은 PC에.. 어찌고.. 저찌고...

물론 Excelsior JET, 인스톨쉴드, 인스톨애니웨어같은 프로그램을 사용하면

JRE를 설치하지 않아도 자바로 만든 프로그램을 실행시킬 수 있다고 한다.

그러나 나는 저런 프로그램 구경도 못해봤다.

그래서 나는 JSmooth, InstallFactory를 이용해서 클라이언트 PC에 JRE를

설치하고 자바로 만든 프로그램을 실행시키는 방법을 연구했다.

어제 새벽 3시까지 연구하고 테스트를 해봤는데 잘 된다.

자 이제부터 내가 연구한 방법을 이 글을 읽는 그대들에게 가르쳐주려고 한다.

우리 모두 전 세계 모든 컴퓨터에 JRE를 깔도록 하자.(심각하게 거창하다...)

세상에 100%는 없다. 내가 말하고자 하는 이 방법도 100%는 아니다.

그러니 맘에 들지 않는다고 나를 욕하지 말지어다.

2. 필요한 프로그램

2.1 JSmooth (http://jsmooth.sourceforge.net)

2.2 InstallFactory (http://okjsp.pe.kr/bbs?act=VIEW&seq=39118&bbs=etc&keyfield=subject&keyword=install&pg=0)

3. 순서

3.1 JAR파일을 만든다.

3.2 JSmooth를 이용해서 JAR파일을 exe파일로 만든다.

33 InstallFactory를 이용해서 배포한다.

4. JAR파일 만들기

CLASS파일이 있는 경로>jar cvf ExeMake.jar test

※아래 소스는 테스트를 하려고 만든 소스임.

package test;

import java.awt.*;

import java.awt.event.*;

/**

* @author Administrator

*

*

*/

public class FrameTest extends Frame

{

public static void main(String[] args)

{

FrameTest ft = new FrameTest();

}

/**

* This is the default constructor

*/

public FrameTest() {

super();

initialize();

}

/**

* This method initializes this

*

* @return void

*/

private  void initialize() {

this.setSize(300,200);

this.setTitle("Frame");

this.setVisible(true);

this.addWindowListener

(

new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

);

}

}

5. JSmooth로 exe파일 만들기

5.1 JSmooth를 실행시킨다.

5.2 좌측의 Skeleton을 클릭해서 Skeleton Chooser을 선택한다.

Console Wrapper은 윈도창과 콘솔창이 함께 보이는 것이고

Windowed Wrapper은 윈도창만 보이는 것이다.

Skeleton Properties는 뭔지 모른다.

5.3 좌측의 Executable를 클릭해서 생성될 파일명과 사용할 아이콘을 선택한다.

Executable Binary : 생성될 exe파일명

Executable Icon   : 사용할 아이콘

Current Directory : 뭔지 모름

5.4 좌측의 Application을 클릭해서 클래스패스와 main() 메소드가 있는

클래스를 선택한다.

우선 우측하단의 노란색 플러스버튼(+)을 클릭해서 클래스패스에 넣어줘야 하는

JAR파일과 위에서 만든 ExeMake.jar을 Classpath항목에 잡아준다.

그런후 Main Class를 선택해준다.

Application Arguments, Embedded jar는 뭔지 모른다.

5.5 좌측의 JVM Selection을 클릭해서 JVM의 버전을 기입한다.

참고로 JSmooth는 JAVA 1.4 이상에서 만들어진 프로그램만

처리하는 것 같다.(아님 말고...)

Minimum JVM Version  : 최하 자바버전

Maximum JVM Version : 최고 자바버전

JVM Bundle            : 뭔지 모름

JVM Search Sequence  : 뭔지 모름

5.6 좌측의 JVM Configura...를 클릭해서 값을 입력한다.

Maximum Memory        : 난 256M로 줬다.

Initial Memory Allocation : 난 10M로 줬다.

Java Properties           : 뭔지 모름

5.7 저장한다.

5.8 컴파일한다.

5.9 생성된 Exe파일을 실행시켜보자. 잘 된다.

어떤이는 생성된 Exe파일만 있으면 JAR파일이 없어도 프로그램이

실행된다고 생각할 지도 모른다. 나도 첨에 그랬으니깐...

그러나 JAR파일이 없으면 안된다. 물론 JRE가 없어도 안된다.

그럼 이제 InstallFactory로 배포파일과 함께 클라이언트 PC에

JRE를 설치해 보도록 하자.

6. InstallFactory로 배포파일 만들기

6.1 배포할 파일들을 한곳에 모아둔다.

난 ExeMake.exe, ExeMake.jar, ifa.ico, jdom.jar,
j2re-1_4_2_06-windows-i586-p.exe 파일만 모아 두었다.

j2re-1_4_2_06-windows-i586-p.exe는 배포파일을 설치한 후 자동 설치된다.

6.2 InstallFactory를 실행시킨후 프로젝트를 만들어주고 타이틀, 소스폴더,

기본설치폴더등등등을 입력한다.

6.3 실행탭을 클릭해서 ‘설치 완료 후 실행할 설치 마무리 프로그램’에

체크하고 j2re-1_4_2_06-windows-i586-p.exe를 선택하고

‘실행 완료 후 삭제’에 체크한다.

6.4 설치화일 만들기 버튼을 클릭해서 배포파일을 만든다.

6.5 이제 만들어진 배포파일을 설치해보자.

JRE가 함께 설치됨을 확인할 수 있다.

7. 후유증

7.1 심각한 후유증이 있을 수 있다.

그러나 지구를 자바향기로 가득 채울 수 있다면 이 후유증은 별거 아니다.

지구를 자바향기로 가득 채우도록 하자..

※ 만든 날   : 2005. 1. 17일 회사에서 할 일 다해놓고 만들었음.

※ 만든 이   : 김부연 (http://blog.naver.com/ward6)

※ 만든 목적 : 지구를 자바향기로 가득 채우기 위하여...