2017년 1월 26일 목요일

[JAVA] JAR에 관하여


package, classpath, 환경변수에 대해 잘 설명한 글

http://thinkdk.tistory.com/entry/JAVA-%ED%81%B4%EB%9E%98%EC%8A%A4%ED%8C%A8%EC%8A%A4%EC%99%80-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EA%B7%B8%EA%B2%83%EC%9D%B4-%EC%95%8C%EA%B3%A0-%EC%8B%B6%EB%8B%A4




콘솔에서 자바 컴파일
>>javac -d hellow.java
    현재 디렉토리를 classpath로 정하고 컴파일 되면 패키지 디렉토리가 생성. hellow.class     파일이 해당 디렉토리에 저장된다.
>>javac -cp hadoop-core-1.2.1.jar FileWriteRead.java
    FileWriteRead자바 파일을 실행하기 위해서는 hadoop-core.jar 라이브러리를 참조해야       한다. classpath에 추가해 컴파일.




jar 파일 옵션

-tf : 목록을 출력하고 파일의 내용을 풀어놓는다.
-xf : 파일들을 추출한다.

jar {ctxu}[vfm0M] [jar-file] [manifest-file] [-C dir] files ...
옵션:
    -c  새 아카이브를 만듭니다.
    -t  아카이브에 대한 목차를 나열합니다.
    -x  아카이브에서 명명된 (또는 모든) 파일을 추출합니다.
    -u  기존의 아카이브를 업데이트합니다.
    -v  표준 출력에 대한 자세한 정보 출력을 생성합니다.
    -f  아카이브 파일 이름을 지정합니다.
    -m  지정된 증명 파일에서 증명 정보를 포함시킵니다.(매니패스트)
    -0  저장만 수행하며 ZIP 압축을 사용하지 않습니다.
    -M  입력 항목에 대한 증명 파일을 만들지 않습니다.
    -i  지정된 jar 파일에 대한 색인 정보를 생성합니다.
    -C  지정된 디렉토리로 변경하고 다음 파일을 포함시킵니다.
디렉토리인 파일이 하나라도 있으면 재귀적으로 처리됩니다.
'm' 및 'f' 플래그가 지정된 순서대로 증명 파일 이름과 아카이브 파일 이름을 지정해야 합니다.



jar파일 포함된 class 보기
>>jar -tf filename



jar 파일 만들기
>>jar -cvmf manifest.txt my.jar *.class
>>jar -cvf Myjar.jar test1.class test2.class (아카이브에 class 추가)

mainfest는 main파일이 포함된 클래스를 지칭함.
내용
-> Main-Class: Myclass
-> Main-Class: test.Myclass (패키지)
:뒤에 한칸 띄어야하고 문장끝에 enter



jar 파일 실행
>>java -jar myjar.jar
>>./bin/hadoop jar hadoop-example.jar package.test.java1 input.txt output.txt


댓글 없음:

댓글 쓰기