기술지원 문의

레진에서 jar 패키지 이용질문입니다.
강성운 / 2006-11-23 14:47

window xp pro, resin-3.0.19, jdk1.5.0_07 환경에서 작업을 하고 있는데요.

특정클래스를 jar 파일로 만들어서 CLASSPATH 상의 WEB-INF/lib 에 넣었습니다.

이렇게 설치된 jar 패키지의 클래스를 JSP 상에서는 해당 클래스를 import 하여 이용이 가능합니다.

그런데  jar 패키지의 클래스를 이용하는 java 파일을 만들어서 WEB-INF/classes 안에 넣으면 자동으로 컴파일은 됩니다.

그런데 해당 클래스를 인스턴스 시키는 순간에 NoClassDefFoundError 가 발생합니다.

jsp 상에서 이용가능하고 java 파일로 만들어서 컴파일이 정상적으로 된다면 CLASSPATH 설정이 잘못된건 아닌것 아닌가요?

혹시 resin 에서 따로 설정해야 하는 부분이 있는지요?

고수님들의 도움 부탁드리겠습니다.

[답변]레진에서 jar 패키지 이용질문입니다.
권용찬 / 2006-11-24 14:07

lib 밑에 있는 class를 불러서 쓴다고 하시고... jsp가 컴파일 도 정상적으로 된면 javat실행 환경에는 문제가 없다고 할수 있겠습니다.

 

다만 실제 실행시에 runtime시 문제가 발생하는 경우라고 하시면 혹시 동일한 클레스가 중복 되는 것은 아닌지 의심할 수 있을 것 같습니다.

 

동일한 class명이 WEB-INF 아래 lib나 classes에 있는데 별도로 환경변수에 잡아놓은 CLASSPATH에 중복되어 들어 있는 것은 아닌지 확인 하여 보시기 바랍니다.

 

가끔 개발중에 백업해 놓은 Class들이 있는 위치가 Classpath에 걸려있어서 문제가 발생하시는 분들이 있으시거든요

 

lib밑에 jar와 classes 밑의 pkg들은 자동으로 classpath에 등록 되기 때문에 WEB-INF을 잘 구성하셨다면 시스템에 별도의 classpath는 잡지 않으셔도 됩니다.

 

또한 호환성을 위해서는 별도의 classpath설정 보다는 lib와 classes에 class파일을 위치시켜서 다른 was에 포팅시에도 문제가 없도록 하시는 것이 좋은 방법이라고 할 수 있습니다.