spring mvc+maven+tomcat 구성에서 서버는 jenkins로 빌드 후 배포하는 환경이고요.
결론부터 말하자면, 로컬에선 빌드 및 실행이 정상적으로 되는데
서버에 배포하면 빌드는 잘 되지만
실행시 외부에서 받은 jar파일 안에 있는 특정 class의 생성자 메소드 "new ClassName(request)"를 실행할 때 말그대로 씹힙니다...
에러도 안뱉고 로그를 찍어봐도 앞에 까진 정상적으로 찍히지만 실행 뒤의 로그는 찍히지 않습니다.
더 웃낀건 같은 jar안에 있는 다른 클래스는 위에서 잘 실행되다가 아래에서 실행이 안되네요.
예를들면, test.jar 안에있는 A.class와 B.class 가 있으면
try{
A a = new A();
a.method(); // 는 잘되고
B b = new b(); // 를 실행하면 이하 코드는 전혀 실행되지않습니다.
} catch(Exception e){
e.printStackTrace(); // exception 도 안타고
} finally{
logger.debug("finally"); // finally 만 타네요
}
logger.debug("이부분도 안탐...");빌드가 안되는것도 아니고, 라이브러리가 잡혀있는 상태에서 이런현상이 있으니 원인이 짐작이 되질 않습니다.ㅜㅜ
pom.xml 에 로컬 repo를 추가로 잡고 거기에 외부 jar파일들을 놓고 dependency에 설정 후 경로에 맞게 넣어 빌드는 잘 되는 상태입니다.
<repositories> <repository> <id>in-project</id> <name>In Project Repo</name> <url>file://${project.basedir}/lib</url> </repository></repositories>
젠킨스에서 빌드 할 때는
<repository>
<id>in-project-jenkins</id>
<name>custom jars-jenkins</name>
<url>file://${JENKINS_HOME}/workspace/${JOB_NAME}/lib</url>
</repository>를 추가해서 라이브러리들이 정상적으로 빌드됩니다.
--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+unsubscribe@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/a1d76330-e955-4569-b6ee-9c4ab284c50a%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.