简体   繁体   English

错误tomcat-jdbc.jar在tomcat6中启动应用程序

[英]error tomcat-jdbc.jar starting a app in tomcat6

im trying to deploy a web-app in tomcat6 with Mysql connection, i manually uploaded a tomcat-jdbc file v1.1.0.1 into tomcat/lib/ but the app will not start, 我试图通过Mysql连接在tomcat6中部署Web应用程序,我手动将tomcat-jdbc文件v1.1.0.1上传到tomcat/lib/但该应用程序无法启动,

copied the last lines of the log file here: 在此处复制了日志文件的最后几行:

Mar 2, 2013 11:10:06 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors
Mar 2, 2013 11:15:36 AM org.apache.naming.NamingContext lookup
WARNING: Unexpected exception resolving reference
java.sql.SQLException: com.mysql.jdbc.Driver
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:243)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:176)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:653)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:595)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:458)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:130)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:99)
        at org.apache.tomcat.jdbc.pool.DataSourceFactory.createDataSource(DataSourceFactory.java:499)
        at org.apache.tomcat.jdbc.pool.DataSourceFactory.getObjectInstance(DataSourceFactory.java:222)
        at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
        at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
        at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1028)
        at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:637)
        at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:238)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276)
        at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:625)
        at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136)
        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.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:194)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:236)
        ... 40 more
Mar 2, 2013 11:15:36 AM org.apache.catalina.core.NamingContextListener
addResource
WARNING: Failed to register in JMX: javax.naming.NamingException:
com.mysql.jdbc.Driver
Mar 2, 2013 11:15:36 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Mar 2, 2013 11:15:36 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors

==== ====

this is my contex.xml file 这是我的contex.xml文件

<Resource name="jdbc/AmbraDS"
    auth="Container"
    type="javax.sql.DataSource"
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    validationQuery="SELECT 1"
    testOnBorrow="true"
    driverClassName="com.mysql.jdbc.Driver"
    username="test"
    password="test"
    url="jdbc:mysql://localhost:3306/test"/>

and the jar file which is used is: 并且使用的jar文件是:

 apache-tomcat-jdbc-1.1.0.1-src

it seems there is a problem connecting with MySQL can anybody help me through this? 似乎与MySQL连接有问题,有人可以帮助我吗?

Download the jdbc driver from http://dev.mysql.com/downloads/connector/j/ http://dev.mysql.com/downloads/connector/j/下载jdbc驱动程序

It needs to be in catalinahome/lib 它必须在catalinahome / lib中

I think some conflict is there. 我认为那里有些冲突。 For example if you have 2 locations and one has JDBC drivers and the other one not then if your classloader loads from the 1st location and some class from the 1st location wants to use the driver - the driver is not there. 例如,如果您有2个位置,而一个有JDBC驱动程序,而另一个没有,那么如果您的类加载器是从第1个位置加载的,而第1个位置的某个类想使用该驱动程序-该驱动程序不存在。 So look for the duplicate JARs that are using your driver 因此,查找正在使用您的驱动程序的重复JAR

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM