Jetty 7 + MySQL Config

我一直在尝试为Jetty配置一个c3p0数据库连接池,但我一直得到一个ClassNotFoundException:

2010-03-14 19:32:12.028:WARN::Failed startup of context WebAppContext@fccada@fccada/phpMyAdmin,file:/usr/local/jetty/webapps/phpMyAdmin/,file:/usr/local/jetty/webapps/phpMyAdmin/ java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:313) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:266) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90) at org.eclipse.jetty.xml.XmlConfiguration.nodeClass(XmlConfiguration.java:224) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:187) at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:77) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:975) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:586) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:162) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92) at org.eclipse.jetty.server.Server.doStart(Server.java:228) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:990) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:955) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.jetty.start.Main.invokeMain(Main.java:394) at org.eclipse.jetty.start.Main.start(Main.java:546) at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:208) at org.eclipse.jetty.start.Main.main(Main.java:75) 

我是Jetty的新手,我想最终通过Quercus和JDBC连接获得phpMyAdmin和WordPress。 这是我的WEB-INF目录中的web.xml和jetty-web.xml文件。

docker-web.xml中:

     jdbc/mysql   jdbc:mysql://localhost:3306/mysql user pw     

web.xml中:

    Caucho Technology's PHP Implementation  My DataSource Reference jdbc/mysql javax.sql.DataSource Container   Quercus Servlet com.caucho.quercus.servlet.QuercusServlet   script-encoding UTF-8    database jdbc/mysql   ini-file WEB-INF/php.ini    Quercus Servlet *.php   index.php   

我猜我错过了几个jar子什么的。 目前我已将以下jar放在WEB-INF / lib目录中:

c3p0-0.9.1.2.jar
公地DBCP-1.4.jar
commons-pool的-1.5.4.jar
MySQL的连接器的Java-5.1.12-bin.jar

我也尝试将这些jar放在JETTY-HOME / lib / ext中,但无济于事……有人请告诉我配置有什么问题。 我厌倦了挖掘Jetty蹩脚的文档。

从Jetty 7开始,Jetty已成为Eclipse Foundation的一个项目。 在Jetty 6迁移到Eclipse Jetty 7期间,采用了新的包结构(参见Jetty 7 Refactoring页面):

  • 来自org.mortbay.jetty.webapp类现在位于org.eclipse.jetty.webapp
  • 来自org.mortbay.jetty.plus.naming类现在位于org.eclipse.jetty.plus.jndi

所以尝试使用以下jetty-web.xml (未测试):

     jdbc/mysql   jdbc:mysql://localhost:3306/mysql user pw     

但是如果你不需要Jetty 7的花哨的东西,我的建议是坚持Jetty 6(更稳定,更多的文档,更多的互联网资源,更简单的等等,换句话说,更少的痛苦)。

我现在配置工作了。 我正在为Jetty 7发布更正后的jetty-web.xml。

     jdbc/mysql   com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/mysql user pw     

使用WEB-INF / lib中的以下jar

c3p0-0.9.1.2.jar
公地DBCP-1.4.jar
commons-pool的-1.5.4.jar
MySQL的连接器的Java-5.1.12-bin.jar

检查以确保OLD jetty-env.xml不在您的类路径中 – 在jetty 6中, jetty-env.xml开头: