티스토리 뷰
자바 애플리케이션을 제작하면 보통 eclipse 에서 실행버튼을 클릭하여 프로그램을 실행하기 마련이다. 특별히 ANT 같은 빌드 툴을 사용하지 않는다면 보통 이 방법을 사용한다. 하지만, 이 방법은 배포에 문제가 생긴다. 다른 머쉰에서 실행하려면 완전 수동적 방법을 사용해야 한다. 즉 해당 머쉰에 eclipse 를 설치하고(물론 그러려면 JDK_HOME 혹은 JRE_HOME이 설정돼야 하는 작업을 먼저 해야 하고), workspace 디렉토리에 작업한 자바 애플리케이션 리소스를 모두 붙여 넣기 하고, eclipse 에서 동일한 이름으로 자바 프로젝트를 생성한 다음, 휴~~~그리고 실행버튼을 눌러야 한다.
보다 쉬운 방법은 없을까? 물론 있다. 그것은 자바 애플리케이션을 jar 파일로 압축해서 배포하는 것이다. 단순 압축하는 것 말고, 실행가능한 다시 말해 main() 을 담고 있는 메일 클래스를 사용하여 프로그램을 실행하도록 만들어 줘야 한다. 그렇게 만든 jar 파일은 아래와 같이 java 명령어를 통해 쉽게 실행할 수 있다.
java -jar JavaApp.jar
이렇게 작업하기 위해서는 몇 가지 설정을 해 줘야 한다. 이 글은 실행 가능한 jar 파일 생성하는 방법을 소개하고자 한다.
1. eclipse 에서 에러없는 자바 애플리케이션 생성한다.
2. 모든 파일은 패키지로 생성한다.
3. 프로젝트 하위에 META-INF 폴더 생성후 하위에 MANIFEST.MF 파일 생성할 것
4. MANIFEST.MF 파일에 아래와 같이 편집 저장한다. 각 응용 프로그램에 맞게 적절하게 수정한다. 여기서 중요한 것은 기본 라이브러리외에 더 필요한 라이브러리들은 별도로 Class-Path: 에 경로와 함께 기술해야 한다. 또한 main() 을 갖고 있는 클래스의 이름도 Main-Class: 에 정확하게 패키지이름.클래스 이름 형식으로 기술해야 한다.
Manifest-Version: 1.0
Class-Path: lib/sqlite.jar
Main-Class: kr.co.javaexpert.lib.view.Main
5. eclipse 에서 File 메뉴의 Export... 을 선택하자.
6. Export 창에서 Java > JAR file 를 선택한 뒤, Next 버튼을 누르자.
7. JAR File Specification 창에서 다음의 그림과 같이 선택한 자바 애클리케이션의 src 폴더만 선택하자.
- 이미 선택돼있는 Export generated class files and resources 그대로
- JAR file : jar 파일이 만들어질 경로 지정 ex) D:\Temp\RecordMgmt\RecordMgmt.jar
- Options 에서 3개 체크박스 모두 선택
- Compress the contents of the JAR file
- Add directory entries
- Overwrite existing files without warning
8. JAR Packaging Options 창에서 기본선택 그대로. Next 버튼 클릭.
9. JAR Manifest Specification 창에서
Specify the manifest :
- Use existing manifest from workspace 선택,
- Manifist file : 경로 지정할 것 ex)/RecordMgmt/META-INF/MANIFEST.MF <---위의 3에서 지정한 경로 입력
10. Finish 버튼 클릭하자. 경고 혹은 에러 메시지가 없다면 성공적으로 완성한 것이다.
11. 위의 7번에서 지정한 경로에 가면 RecordMgmt.jar 확인할 수 있다.
12. eclipse 프로젝트에서와 같이 각각의 디렉토리를 그대로 생성하고, 각 디텍토리속에 필요한 파일도 똑같이 갖다 놓는다.
ex) images/image.jpg, lib/dbinfo.properties, lib/sqlite.jar, sqliteroom/test.db
즉 이클립스에서의 디렉토리 경로와 같아야 한다.
13. 마지막으로 커맨드 창에서 확인한다.
java -jar RecordMgmt.jar
- Total
- Today
- Yesterday
- Apache
- EditPlus
- PHP
- JDBC
- Linux
- Javadoc
- J2SE
- Fedora
- 원격로그인
- command tools
- JAR
- windows 7
- javascript
- Fedora14
- AJAX
- ubuntu
- LECTURE
- dev-c++
- Eclipse
- ftp서버
- Android
- classpath
- Windows 8.1
- CSS3
- mysql
- 리눅스
- 우분투
- Flex
- SQL
- Installation
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |