2012-11-23 6 views
1

메일을 보내야하는 웹 응용 프로그램을 개발 중입니다. 메신저 같은 자바 메일 API를 사용하여. 그래서, 내가 가져온 mail.jar 및 activation.jar 파일 ....하지만 메일을 보낼 코드를 포함 후, 바람둥이 서버가 시작되지 않습니다 ... 그것은 콘솔에서 다음을 인쇄합니다. ...javamail 코드를 추가 한 후 tomcat 서버 7.0이 시작되지 않음

Nov 23, 2012 10:03:59 AM org.apache.catalina.core.ContainerBase startInternal 
SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/rto__agent_helper]] 
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/rto__agent_helper]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    ... 7 more 
Caused by: java.lang.NoClassDefFoundError: javax/mail/Address 
    at java.lang.Class.getDeclaredFields0(Native Method) 
    at java.lang.Class.privateGetDeclaredFields(Unknown Source) 
    at java.lang.Class.getDeclaredFields(Unknown Source) 
    at org.apache.catalina.startup.WebAnnotationSet.getDeclaredFields(WebAnnotationSet.java:452) 
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:257) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66) 
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:381) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:858) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Caused by: java.lang.ClassNotFoundException: javax.mail.Address 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) 
    ... 21 more 
Nov 23, 2012 10:03:59 AM org.apache.catalina.core.ContainerBase startInternal 
SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:675) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Nov 23, 2012 10:03:59 AM org.apache.catalina.startup.Catalina start 
SEVERE: Catalina.start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:675) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 9 more 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1136) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 11 more 
Nov 23, 2012 10:03:59 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 343 ms 
+0

javamail에 필요한 jar 파일이 누락되었습니다. 그게 클래스 데프가 발견 한 것이 무엇인지에 관한 것입니다. –

+0

Javax.mail.Address가 누락 된 클래스입니다. 희망이 도움이;) –

+0

@ user1846580 당신은 항아리 안에 주소 클래스가 있습니까? – gks

답변

2

응용 프로그램 서버의 스택 추적이 길어질 수 있습니다. 예외는 서버 내에서 시작되어 많은 경우에 던져지고, 다시 포장되고, 다시 던져집니다. 이 스택 추적 중 실제로 의미하는 부분은

Caused by: java.lang.NoClassDefFoundError: javax/mail/Address 

클래스입니다. javax.mail.Address 클래스를 찾을 수 없습니다. 그것은 classpath에 추가하는 것을 언급하지 않은 jar 파일에 있기 때문입니다.

mailapi.jar 파일이 누락되었습니다. 최소한 :

mail.jar 
mailapi.jar 
activation.jar (Only needed for old Java < 1.6) 
smtp.jar 

팝업 사서함에 액세스하려면 pop3.jar이 필요합니다. 가장 안전한 방법은 모든 jar를 javamail 배포의 lib 디렉토리에 포함시키는 것입니다.

여기에 좋은 quick start guide

You can find the full distribution of javamail here, on Oracle's website.

+0

UR 도움에 감사드립니다 ....하지만 여전히 작동하지 않습니다 .. 내가 mail.jar, mailapi.jar, activation.jar, smtp.jar, pop3.jar을 빌드 경로를 통해 추가 - 빌드 경로를 구성 -> 외부 추가 JAR. 이러한 항아리의 ecah에 대한 그들의 javadoc loaction 설정 - 아카이브에서 javadoc .... – user1846580

+0

UR 도움에 대한 감사 ....하지만 여전히 작동하지 .. 내가 mail.jar, mailapi.jar, activation.jar, smtp.jar, pop3.jar via build path-> configure build path-> 외부 JAR 추가. 이러한 jar의 ecah에 대해 javadoc loaction -> javadoc을 archive로 설정했습니다 ... 여전히 동일한 오류가 발생합니다 ... mail.jar n mailapi.jar은 Address 클래스를 포함하고 있습니다 ... 여전히 java.lang을 인쇄합니다. NoClassDefFoundError : javax/mail/Address 'n'java.lang.ClassNotFoundException : 스택 추적이 긴 javax.mail.Address .. 모든 코드 또는 솔루션을 제안 할 수 있습니까? 매우 긴급합니다 ... 정말 감사드립니다. help .. – user1846580

+0

문제는 라이브러리의 jar 파일이 Tomcat 클래스 경로에 위치하지 않는다는 것입니다. Tomcat에서 클래스 로딩이 어떻게 작동하는지 읽는 것이 도움이 될 수 있습니다 : [link] (http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html) –

0

직접 lib 폴더에있는 아파치 디렉토리에, 당신이 열려있는 일식을 완료하고 나면 프로젝트를 시작 java.mail.jar 라이브러리를 추가합니다.

건배

관련 문제