在配置tomcat的jndi过程当中碰到了
同时在这里注明下,创建jnidi必须在以下文件中创建jndi申明。
/{tomcat}/conf/server.xml
/{your app}/WEB-INF/web.xml
/{tomcat}/conf/Catalina/localhost/{your app}.xml
ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
的问题,其实这个问题的原因就是缺少了class包,明眼人都看到,这提示的那么详细,但是要找这个包还真费劲,网上很多文章都说只要有了commons-collections.jar,commons-dbcp-1.2.2.jar,commons-pool-1.3.jar这三个包之后就ok了,这怎么可能。后来翻看了apache tomcat官方文档,发现是需要naming-factory-dbcp.jar这个包,缺少这个包导致tomcat的MBean无法创建datasource。同时在这里注明下,创建jnidi必须在以下文件中创建jndi申明。
/{tomcat}/conf/server.xml
/{your app}/WEB-INF/web.xml
/{tomcat}/conf/Catalina/localhost/{your app}.xml
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- <Context>
- <Resource
- name="jdbc/mysql"
- type="javax.sql.DataSource"
- password="*******"
- driverClassName="com.mysql.jdbc.Driver"
- maxIdle="2"
- maxWait="5000"
- username="root"
- url="jdbc:mysql://localhost/bugfreej"
- maxActive="4"/>
- Context>