2013. 11. 13. 16:25ㆍ99. 정리전 - 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://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 파일이 위치할 곳이 기준이 된다.