'압축'에 해당되는 글 2

  1. 2010.12.13 java] jar 파일 생성, 사용, 압축 컨트롤
IT_Expert/Java & Jsp | Posted by 낫기법필 2010. 12. 13. 17:49

java] jar 파일 생성, 사용, 압축 컨트롤


jar 생성 및 사용 예제 -------------------------------

본 예제는 how.to 패키지내에 HelloJar 클래스를 갖는 jar파일을 생성하고
생성된 jar파일을 사용하여 HelloJar 클래스에 접근하는 방법에 대해서
설명하고 있습니다.

Step 1. HelloJar.java 소스파일 생성

package how.to;

public class HelloJar
{
    public HelloJar() { }

    public void PrintMsg(String msg)
    {
        System.out.println(msg);
    }
}

Step 2. 컴파일

[root@linux ]# javac -d . *.java

위와 같이 컴파일 하면, 다음과 같이 how 디렉토리와
how 디렉토리 밑에 to 디렉토리가 자동으로 생성이되며
how/to 디렉토리 밑에는 "HelloJar.class"파일이
생성이 되어집니다.

Step 3. jar 생성

[root@linux ]# jar cvf hello.jar how
added manifest
added manifest
adding: how/(in = 0) (out= 0)(stored 0%)
adding: how/to/(in = 0) (out= 0)(stored 0%)
adding: how/to/HelloJar.class(in = 389) (out= 276)(deflated 29%)
------------------------------------------------------------------

jar 파일 생성후, 현재 디렉토리의 파일 목록을 살펴보면 다음과 같습니다.

[root@linux ]# ll
drwxr-xr-x 3 root root 4096 2008-06-04 11:29 ./
drwxr-xr-x 3 root root 4096 2008-06-04 11:28 ../
-rw-r--r-- 1 root root  926 2008-06-04 11:29 hello.jar
-rw-r--r-- 1 root root  135 2008-06-04 11:29 HelloJar.java
drwxr-xr-x 3 root root 4096 2008-06-04 11:29 how/

Step 4. Test.java 생성

import! how.to.*;
import! java.io.*;

public class Test
{
    public Test()  {  }

    public static void main(String[] args) throws IOException
    {
        how.to.HelloJar myJar = new how.to.HelloJar();
        myJar.PrintMsg("Hello Jar");
    }
}

Step 5. Test.java 컴파일

[root@linux ]# javac Test.java

Step 6. 실행

[root@linux ]# java Test


[출처] http://blog.daum.net/aswip/4508076

end -----------------------------------

jar 압축 및 풀기 ------------------------

1. 압축할때
    jar cvf create.jar a.class b.class cDirectory
    a.class,b.class,cDirectory를 create.jar라는 이름으로 생성합니다. 

2. 압축풀때
    jar xvf create.jar
    create.jar의 내용을 추출합니다. 

3. 압축된내용보기
    jar tvf create.jar
    create.jar의 내용을 봅니다.
[출처] http://cspark.egloos.com/29213
end -----------------------------------
endline __________________________________