오픈소스중 하나인 JSmooth 유틸리티를 이용하여 JAR파일을 EXE파일로 변환하는 방법을 알아보도록 하겠습니다. 이번 강좌에서는 윈도우즈용 실행파일(exe)생성에 대해서만 간단히 알아보겠습니다. 그외 세부적인 설명은 관련문서나 타 강좌를 참고하시기 바랍니다.
JSmooth는 JAR파일안에 존재하는 자바파일 하나를 JVM(자바가상머신)을 이용해서 실행해주는 래퍼(Wrapper)파일을 생성해줍니다. 따라서, 생성된 exe파일 실행시
사용할 JVM을 이용하는 방법을 설정하며, JVM이 미 설치된경우 그에 따른 방법을
설정할 수 있습니다.
실행파일을 만들 샘플예제는 이전 강좌에서 생성한 TestSwtExe.jar파일을 이용하도록
하겠습니다.
[JSmooth를 이용한 윈도우즈용 실행파일 생성 방법]
1. JSmooth유틸을 설치한다.
http://jsmooth.sourceforge.net/ 사이트에서 다운로드 받으시기 바랍니다.
참고로, 본 강좌에 사용된 버전은 0.9.9-7 버전입니다.
JSmooth의 설치는 Next만 클릭하시면 될 정도로 간단합니다.
2. 배포의 편의를 위해 배포 환경을 구성합니다.
- SWT 프로그램의 경우 JVM외에 swt.jar파일및 native dll파일들이 필요합니다.
편의상 배포할 TestSwtExe.jar파일의 하위에 lib폴더를 만들어서
라이브러리성 파일들은 모두 lib쪽으로 모아두도록 하겠습니다.
- "환경설정강좌"에 사용했던 swt.jar파일과 실행에 필요한 dll파일들을
위 이미지처럼 lib폴더에 모두 복사하시기 바랍니다.
3. JSmooth 프로그램을 실행합니다.
4. "Skeleton"을 선택 후 필요한 부분을 설정 함.
(1) : 좌측 패널에서 Skeleton을 선택합니다.
- 생성할 래퍼파일의 종류와 JVM에 대한 설정을 하는 곳입니다.
(2) : Windowed Wrapper를 선택합니다.
- 윈도우즈에서 실행 가능한 래퍼용 파일을 생성하게 됩니다.
(3) : 생성된 exe파일을 실행시 사용자의 컴퓨터에 JVM이 설치되어 있지 않다면
JVM설치를 위해 출력할 메시지와 JVM설치를 위해 다운로드 할 URL을 적어줍니다.
5. "Executable"을 선택 후 필요한 부분을 설정 함.
(1) : 좌측 패널에서 Executable을 선택합니다.
- 생성할 EXE 래퍼 파일에 대한 정보를 설정합니다.
(2) : (2)표시된 찾기버튼을 클릭해서 생성할 실행파일명과 위치를 설정합니다.
c:\yoo7577\TestSwtExe.exe 로 설정했습니다.
- 생성할 실행파일에 멋진 아이콘을 사용하려면 Icon항목에서 아이콘 파일을
설정하시기 바랍니다.
6. "Application"을 선택 후 필요한 부분을 설정 함.
(0) : 좌측 패널에서 Application을 선택합니다.
(1) : 위 그림처럼 (1)표시 부분을 클릭해서 Classpath를 제일먼저 잡아줍니다.
- 이곳에는 실행파일로 만들 TestSwtExe.jar파일과 SWT 실행을 위해 필요한
swt.jar파일을 추가합니다.
(2) : (2)번 표시 부분을 클릭하셔서 Main class항목에 exe파일 실행시 실행될
클래스파일을 설정해 줍니다.
- Classpath에 설정된 파일이 한해서만 (2)번 표시의 찾기 기능을 이용할 수 있습니다.
Classpath에 TestSwtExe.jar파일이 그림처럼 설정되었다면
아래 이미지처럼 선택 가능합니다.
(1) Available Classes를 더블 클릭하면 선택가능한 클래스 파일 목록이 나옵니다.
(2) 우리가 만들 파일은 EventTest 클래스파일이기때문에 EventTesst를 선택합니다.
(3) Select버튼을 클릭해서 종료합니다.
7. "JVM Selection"을 선택 후 필요한 부분을 설정 함.
- 생성된 EXE 래퍼 프로그램에서 사용할 JVM에 대한 설정을 합니다.
사용할 JVM의 버전 제한이 필요하시면 Java version settings에
"1.4"처럼 제한할 JVM의 버전을 기입하시면 됩니다.
- JVM Selection메뉴에서 주의 깊게 살펴볼 부분은
아마도 빨간박스표시 부분의 JVM 검색순서일 것입니다.
이곳에서는 EXE 래퍼 프로그램에서 사용할 JVM을 찾는 순서를 지정합니다.
위 그림파일의 설정을 예로든다면,
제일먼저 레지스트리(Windows Registry)에 등록된 JVM을 이용하며,
만약 레지스트리에 JVM에 대한 정보가 설정되지 않다면
JAVA_HOME(JAVA_HOME environment variable)이라는 환경변수에 정의된
자바파일을 사용하겠다는 것입니다.
8. "JVM Configuration"을 선택 후 필요한 부분을 설정 함.
(1): 좌측 패널에서 JVM Configuration을 선택합니다.
- Memory Settings 항목은 JVM이 사용할 최초/최대 메모리를 설정하게 됩니다.
JVM의 메모리 설정이 필요시 이 부분에서 설정 가능합니다.
(2) : SWT 네이티브 라이브러리들이 위치한 디렉토리를 설정합니다.
(2)번 표시 부분을 클릭하면 아래 그림과 같은 속성 편집창을 이용해서 설정가능 합니다.
우리는 2.번 항목에서 실행에 필요한 파일들을 lib폴더에 복사해 놓았기때문에
위 그림처럼 Name에는 java.library.path를 Value에는 lib를 설정합니다.
- 환경설정 강좌에서 이 부분의 필요성을 설명했었습니다.
SWT의 실행을위한 네이티브 DLL 파일들이 있는 위치를 설정하는 것입니다.
9. System > Save 메뉴를 클릭하여 환경 설정내용을 별도의 파일로 저장합니다.
- 간단히 제 경우 샘플이라고 지정했습니다.
- 저장의 단축아이콘은 입니다.
10. Project > Compile 메뉴를 선택해서 실행파일을 생성합니다.
- 컴파일의 단축 아이콘은 입니다.
- 아래와 같은 실행 결과가 출력됩니다.
- c:\yoo7577 폴더에 가서 생성된 실행파일을 확인합니다.
- TestSwtExe.exe 파일이 생성되었음을 알 수 있습니다.
참고로 샘플.jsmooth는 9.번 항목에서 저장한 파일입니다.
11. 생성된 TestSwtExe.exe 파일을 실행합니다.
- 위 그림처럼 정상적으로 실행됨을 확인할 수 있습니다.*^^*
이상으로 간단한 JSmooth를 이용하여 EXE 래퍼 파일을 생성하는 방법을 살펴봤습니다.
특별히 어려운 부분은 없으며 JSmooth의 경우 JVM이 제공하지 못하는 기능들을 추가로
제공합니다. 세부내용들은 JSmooth의 각 메뉴들을 직접 사용해 보시기 바랍니다.
참고로, JSmooth를 이용해서 생성된 EXE 래퍼 일에 대한 라이센스는 상업적으로 이용 가능
합니다.
그외 세부 기능들은 관련 서적이나 자료들을 참고하시기 바랍니다.
제경우 (4)번 표시처럼 c:\yoo7577폴더에 TestSwtExe.jar 파일을 만들도록 했습니다.
5. jar파일이 생성된것을 확인합니다.
매번 그 상황에 맞는 파일들을 선택해야 하는데 너무 귀찮죠^^
'IT_Programming > Dev Tools' 카테고리의 다른 글
[펌_ANT] com.sun.tools.javac.Main 에러문제 (0) | 2008.06.25 |
---|---|
[펌] ▩ WTP 개발툴에서의 JSP, Beans 개발 ▩ (0) | 2008.03.19 |
이클립스 플러그인 DBEdit을 이용한 데이타베이스 관리 (0) | 2008.01.23 |
이클립스 속도 향상 (0) | 2008.01.23 |
이클립스 디버깅 방법과 자주사용되는 이클립스 기능 (0) | 2008.01.23 |