JAR 파일 만들기 (Class-Path 설정 및 개념잡기)

2013. 11. 13. 16:2599. 정리전 - IT/11. Java

추가 (20160801)

/app/service/lib/jdk8/bin/java -server -Xms1024m -Xmx1024m -XX:NewSize=128m -XX:MaxNewSize=128m -XX:MaxPermSize=128m -XX:-HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=2 -XX:-UseConcMarkSweepGC -XX:+PrintGC -Dspring.profiles.type=ias -Dspring.profiles.active=pp -classpath /app/service/batch:/app/service/batch/lib/* net.minigate.mslp2.fd.service.ias.Batch


 

과제 : 아침마다 class 파일을 batch로 돌려야 한다.

문제 : class가 참조하는 외부 jar파일들이 몇개 있는데, class파일을 jar 만들면 외부 jar파일들이 인식되지 않는다

 

 

 

문제를 해결하기 위해 참조했던 MANIFEST.MF에 관한 관련 링크들

 

http://blog.daum.net/swimmingbird/89

http://iloveaired.tistory.com/70

http://blog.naver.com/echris7?Redirect=Log&logNo=140012585340

http://ggang-tong.tistory.com/entry/jar%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C-%EC%99%B8%EB%B6%80-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

http://blog.daum.net/hamyy37/38

 

결론 : MANIFEST.MF 설정 중

        "Class-Path: 여기선언될것들" 에 대한 path들은 이클립스의 프로젝트 구조와 무관!!!

        jar 생성 후 java -jar 실행.jar 가 위치할 곳이 기준점!

 

 

■ 간략 개념

 

 

 

 

 

■ jar 생성순서

 

1) 그림대로 한다

 

2) 내가그린 기린그림대로 한다

 

 

3) 또 그림대로 한다

 

 

4) 닥치고 그림대로 한다

 

 

 

 

■ jar 생성 후 구조

 

 

 

 

template의 코딩은 간략개념의 첫번째 이클립스 그림 참조

 

■ jar 생성 소감

   01. jar는 class 파일만 묶는다.

   02. class 제작하면서 사용했던 log4j.jar등과 같은 외부jar들은 MANIFEST.MF의 Class-Path로 지정한다.

        Class-Path를 지정할 때 path의 기준점은 class파일로 제작된 jar의 위치이다.

   03. class 에서 엑셀과 같은 외부파일을 읽는다면

        이 또한 class에서 생성된 jar 파일이 위치할 곳이 기준이 된다.