java 메일발송 프로그램에서 activation.jar 인식을 못합니다.
안녕하세요
레드헷 8.0 입니다.
일단 env 를 치면
CLASSPATH=.:/usr/local/java/lib/tools.jar:
/usr/local/java/lib/dt.jar:
/usr/local/resin/lib:
/usr/local/resin/lib/jsdk23.jar:
/oracle/product/920/jdbc/lib/classes12.zip:
/usr/local/resin/lib/resin.jar:
/usr/local/apache2/farmwww/WEB-INF/classes:
/usr/local/resin/lib/icu4j.jar
나옵니다.
그리고 /usr/local/java/jre/lib/ext 디렉토리에
activation.jar
dnsns.jar
ldapsec.jar
localedata.jar
mail.jar
pop3.jar
sunjce_provider.jar
이렇게 있습니다.
java.lang.NoClassDefFoundError: javax/activation/DataSource
이런 에러가 납니다.
환경설정은 제대로 된것 같은데 왜 클래스 인식을 못하는지 궁금합니다.
자바 버전은
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
이고 rpm으로 설치했습니다.
원래 자바할 때 CLASSPATH는 절대로 잡는게 아닙니다. 조금 과장이
원래 자바할 때 CLASSPATH는 절대로 잡는게 아닙니다. 조금 과장이긴 하지만 어쨌든 일반적인 경우 환경변수에 CLASSPATH를 잡거나 jre/lib/ext에 임의로 jar를 넣는 것은 절대로 피해야 합니다.
그렇게 하다 클래스로딩 관련 에러 나면 잡기도 힘듭니다;
JSP나 서블릿 개발하신다면 시간 나실 때 한번 스펙을 읽어 보시라고 권해 드리고 싶군요.
어쨌든 저런 경우 Resin이나 JRE 관련 jar를 제외한 모든 jar는 모두 /WEB-INF/lib으로 옮기고, 오라클은 classes12.zip대신 ojdbc14.jar으로 바꾸고, CLASSPATH는 잡지 말고 다시 해보시기 바랍니다(javax.*은 jre/lib/ext에 있어도 상관은 없습니다). 좀 설정이 이상해서 딱히 100% 들어맞는 해답을 드리긴 어렵네요.
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
댓글 달기