slt,

Je poste ici au cas où il y aurait quelqu'un qui connaitrait bien le framework Echo2.
J'essayes de lancer une simple application HelloWorld, seulement j'ai un message d'erreur :
java.lang.NoClassDefFoundError: nextapp/echo2/webcontainer/WebContainerServlet
Pourtant, j'ai importé toutes les librairies requises, notamment celle contenant la classe WebContainerServlet.

Voici mon application :
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
 
import nextapp.echo2.app.ApplicationInstance;
import nextapp.echo2.app.ContentPane;
import nextapp.echo2.app.Label;
import nextapp.echo2.app.Window;
 
public class HelloWorldApp extends ApplicationInstance {
 
	public Window init() {
		Window win = new Window();
		ContentPane pane = new ContentPane();
		win.setContent(pane);
 
		Label label = new Label();
		label.setText("ok");
		pane.add(label);
 
		return win;
	}
 
}
Voici la servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
import nextapp.echo2.app.ApplicationInstance;
import nextapp.echo2.webcontainer.WebContainerServlet;
import apps.HelloWorldApp;
 
public class HelloWorldServlet extends WebContainerServlet {
	public ApplicationInstance newApplicationInstance() {
		return new HelloWorldApp();
	}
}
La configuration du serveur :
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>servlets.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
Et le message complet :
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
 
javax.servlet.ServletException: Erreur d'allocation à une instance de servlet
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	java.lang.Thread.run(Thread.java:619)
 
cause mère
 
java.lang.NoClassDefFoundError: nextapp/echo2/webcontainer/WebContainerServlet
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	java.lang.Thread.run(Thread.java:619)