Bonjour,
j'essaye depuis 2 jours d'utiliser Quercus avec Jetty (sous forme embedded)
J'utilise Jetty 7.0.0 et Quercus 3.2.1 j'ai utilisé les lib *.jar contenus dans le war dispo sur le site de caucho.com
Le tout marche PRESQUE impeccable
Voici le code que j'utilise coté serveur :
Le problème, c'est que lorsque je veux charger un fichier php. Au premier chargement (sur la première page) j'ai TOUJOURS une erreur 500, et l'exception suivante :
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 Server server = new Server(); Connector connector=new SelectChannelConnector(); connector.setPort(Integer.getInteger("jetty.port",8080).intValue()); server.setConnectors(new Connector[]{connector}); WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/"); webapp.setWar(jetty_home+"/webroot"); webapp.setDefaultsDescriptor(jetty_home+"/etc/webdefault.xml"); server.setHandler(webapp); server.start();
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 2009-05-03 16:43:16.789::WARN: /index.php com.caucho.quercus.QuercusRuntimeException: java.lang.ClassNotFoundException: 'org.mortbay.jetty.HttpConnection' is not a known Java class: java.lang.ClassNotFoundException: org.mortbay.jetty.HttpConnection at com.caucho.quercus.module.ModuleContext.getJavaClassDefinition(ModuleContext.java:270) at com.caucho.quercus.function.MarshalFactory.create(MarshalFactory.java:230) at com.caucho.quercus.function.MarshalFactory.create(MarshalFactory.java:70) at com.caucho.quercus.env.JavaInvoker.init(JavaInvoker.java:214) at com.caucho.quercus.env.JavaInvoker.getHasRestArgs(JavaInvoker.java:265) at com.caucho.quercus.env.JavaOverloadMethod.overload(JavaOverloadMethod.java:76) at com.caucho.quercus.env.JavaOverloadMethod.<init>(JavaOverloadMethod.java:50) at com.caucho.quercus.env.AbstractJavaMethod.overload(AbstractJavaMethod.java:96) at com.caucho.quercus.program.JavaClassDef.introspect(JavaClassDef.java:890) at com.caucho.quercus.program.JavaClassDef.init(JavaClassDef.java:833) at com.caucho.quercus.Quercus.getJavaClassDefinition(Quercus.java:685) at com.caucho.quercus.env.Env.getJavaClassDefinition(Env.java:3381) at com.caucho.quercus.env.Env.wrapJava(Env.java:3513) at com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:151) at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:407) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.ConstraintsSecurityHandler.handle(ConstraintsSecurityHandler.java:220) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:822) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:305) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:550) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:876) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:535) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:407) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:421) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) Caused by: java.lang.ClassNotFoundException: 'org.mortbay.jetty.HttpConnection' is not a known Java class: java.lang.ClassNotFoundException: org.mortbay.jetty.HttpConnection at com.caucho.quercus.module.ModuleContext.getJavaClassDefinition(ModuleContext.java:254) ... 30 more Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.HttpConnection at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:317) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:279) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.caucho.quercus.module.ModuleContext.getJavaClassDefinition(ModuleContext.java:251) ... 30 more
Ensuite, je peux charger autant de pages que je veux, ça marche impec !
Est ce quelqu'un a une idée du pourquoi de cette exception au premier chargement ?
Merci d'avance,
Mickael
PS : Voici aussi le fichier xml de conf de ma webapp :
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 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <description> Test </description> <servlet> <servlet-name>Quercus Servlet</servlet-name> <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Quercus Servlet</servlet-name> <url-pattern>*.php</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.php</welcome-file> </welcome-file-list> </web-app>
Partager