티스토리 뷰

Daylogs/Java

Jar 파일이란

ohgyun 2008. 10. 10. 14:46
원문: http://source.egloos.com/811940

jar(Java Archive)에 대해서

1. jar파일이란 : jar파일은 archive파일이다. 즉 여러개의 파일을 하나의 파일로 묶는
jar명령을 사용하여 생성된다. 이 파일은 winzip에서 열어 볼 수 있으며, winzip에서
열어보면 여러개의 파일들이 디렉토리 정보를 가진채 들어 있다. (아무 jar파일을 직접
클릭해 열어 보시라)

2. zip 파일과 다른 점 : winzip과 다른점은 압축되어 있을수도 있고, 그냥...하나로
묶어놓은 파일일수 도 있다. 그래서 jar 파일을 archive파일이라 볼수 있다. 이렇게
archive파일로 묶는 이유는 자바로 개발한 여러클래스 파일들 또는 패키지 파일이
있을때, 이를 하나로 묶어두면, 그 클래스들을 참조하기도 편하고, 다운 받기도 쉽다.
(애플릿의 경우 더욱 그러함)

3. jar명령 사용하기

(1) 명령구문 : jar {ctxu}[vfm0M] [jar-file] [manifest-file] [-C dir] files ...
(2) {ctxu} 중의 하나는 맨 앞에 나와야할 필수 옵션이다.
: c (새로운 archive파일을 생성한다)
: t list table of contents for archive
: x (다음에 지정한 파일들을 archive파일로 부터 압축을 푼다)
: u (기존 archive파일에 들어있는 파일을 수정한다.)
(3) [vfm0M]은 {ctxu} 중의 하나다음에 오는 옵션이다.
: v (명령화면창으로 진행사항에 관한 메시지를 출력한다.):웬만하면 써주면좋음..
: f (archive될 파일이름을 지정한다.) : 그래도 생성될 파일의 이름은 써줘야겠죠?
: m (정보를 manifest파일로 부터 포함한다.)
: 0 (저장만 하고, zip으로 압축하진 않는다.)
- 클래스파일을 압축하면 곤란하죠...class파일의 경우는 꼭..써줘야죠..
: M (추가되는 엔트리에 대한 manifest 파일을 생성하지 않는다.)
(4) -C (지정된 디렉토리로 바꾸고, 다음 파일을 포함한다.)
: 어떤 파일이 디렉토리이면 순환되면서 처리된다.
(5) manifest file이름과 archive파일 이름은 순서대로 지정되어야 한다.
(6) manifest file : 뭐...대단한 파일인줄 알았는데, 열어보면 내용이 다음과 같습니다.
: m옵션을 주어 지정하는데 뭐....중요한건 아닌거 같으니까...이런게 있다는것만
아셔도 될듯..
<내용>
Manifest-Version: 1.0
Created-By: 1.2.2 (Sun Microsystems Inc.)


4. 사용예

예) jar cvf new.jar 1.class 2.class
: c옵션이 사용되었으므로 일단은 1.class, 2.class를 묶으려고 시도할 것이다.
(생성시는 반드시 f옵션을 줘야함, 안주면 어케 될까?...함해봐요...컴에서 삑삑
소리가 나올것임..-.-; 왜그런지는 아시겠죠?)
: v옵션이 사용되었으므로 진행상황 메시지가...줄줄 나올것이다. (이건 안해도 됨)
: f옵션은 c옵션사용시 생성될 파일명을 지정(반드시 해주어야 지정된 이름으로 파일이
생성된다.)

예) jar cvf new.jar -C test/ .
: -C옵션을 주면 현 디렉토리 아래의 test디렉토리에 있는 모든 파일을 new.jar로
묶어준다.



+ jar 로 묶기

jar cvf build\ex.jar -C \build\classes .

jar 옵션 (jar파일명) -옵션 해당 파일들

classes> jar cvf ./job.jar ./job/*

반응형
댓글
공지사항