2012-03-23 63 views
2
I have create a application in struts 2 which is sending mail to mail ids. 

我的問題是,在部署我的GlassFish 3服務器 應用(我的本地系統上),它發送郵件正常。 但是,當我爲我的實際服務器上部署我的應用程序(使用tomcat6.0.14) 其表現以下例外引發異常,同時試圖給Tomcat 6.0.14服務器發送郵件

例外

java.lang.reflect.InvocationTargetException 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
java.lang.reflect.Method.invoke(Method.java:597)........... 

根源

java.lang.NoClassDefFoundError: javax/mail/Address 
action.SendForgetPasswordAction.execute(SendForgetPasswordAction.java:117) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
java.lang.reflect.Method.invoke(Method.java:597)............. 

根源

java.lang.ClassNotFoundException: javax.mail.Address 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) 
action.SendForgetPasswordAction.execute(SendForgetPasswordAction.java:117) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
java.lang.reflect.Method.invoke(Method.java:597) 

如何解決此問題roblem我上傳war文件在我的tomcat服務器

+3

確保mail.jar位於您的Web應用程序的lib目錄中。它正在Glassfish中工作,因爲Glassfish中捆綁的Java EE庫包含郵件API。 – 2012-03-23 05:21:54

回答

1

請將mail.jar添加到tomcat lib文件夾中..報告的問題是找不到類(該類可作爲GF中安裝的一部分但不是在tomcat中)

你可以從glassfish文件夾複製文件並將它放在tomcat lib中。

它會解決這個問題。