Bonjour,
Voilà, dans un application, j'ai une classe que j'ai crée qui envoie des mail.
Cette classe se trouve dans un jar que j'ai ajouté à un projet web.
Quand j'appelle cette classe dans un classe avec une méthode main, ça envoie le mail alors que dans une servlet il me lance une ClassNotFoundException
code méthode main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package fr.xxx.web.app.xxx.test; import fr.xxx.utility.mail.Mail; public class TestMail { public static void main(String[] args) { String smtpHost_ = "srv.xxx.fr"; String smtpFrom_ = "nn.nn@xxx.fr"; String from_ = "nn.nn@xxx.fr"; String to_ = "nn.nn@xxx.fr"; String cc_ = null; String bcc_ = null; String subject_ = "Test mail subject"; String content_ = "<font color='blue'>Test mail body</font>"; String embedded_ = null; String attach_ = null; String bodyTypeMime_ = "text/html"; String fichierTrace_ = null; Mail mail = new Mail(); mail.send(smtpHost_, smtpFrom_, from_, to_, cc_, bcc_, subject_, content_, embedded_, attach_, bodyTypeMime_, fichierTrace_); } }
code servlet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 package fr.xxx.web.app.xxx.mail; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import fr.xxx.utility.mail.Mail; /** * Servlet implementation class SendMail */ public class SendMail extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SendMail() { super(); // TODO Auto-generated constructor stub } /** * @see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String smtpHost_ = "srv.xxx.fr"; String smtpFrom_ = "nn.nn@xxx.fr"; String from_ = "nn.nn@xxx.fr"; String to_ = "nn.nn@xxx.fr"; String cc_ = null; String bcc_ = null; String subject_ = "Test mail subject"; String content_ = "<font color='blue'>Test mail body</font>"; String embedded_ = null; String attach_ = null; String bodyTypeMime_ = "text/html"; String fichierTrace_ = null; try { System.out.println("1"); Mail mail = new Mail(); System.out.println("2"); mail.send(smtpHost_, smtpFrom_, from_, to_, cc_, bcc_, subject_, content_, embedded_, attach_, bodyTypeMime_, fichierTrace_); System.out.println("3"); } catch (Exception e) { System.out.println("==> "+e); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <servlet> <description>Send email servlet</description> <display-name>SendMail</display-name> <servlet-name>SendMail</servlet-name> <servlet-class>fr.altares.web.app.xxx.mail.SendMail</servlet-class> </servlet> <servlet-mapping> <servlet-name>SendMail</servlet-name> <url-pattern>/SendMail</url-pattern> </servlet-mapping> </web-app>
erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 GRAVE: "Servlet.service()" pour la servlet SendMail a g�n�r� une exception java.lang.ClassNotFoundException: fr.xxx.utility.mail.Mail at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at fr.altares.web.app.apprisk.mail.SendMail.doGet(SendMail.java:53) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source)
Merci
Partager