Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find class [org.apache.commons.dbcp.BasicDataSource]

I am getting this exception when trying to start my spring MVC hibernate app.

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/appServlet/mysql_persistence_info.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1235)

My /WEB-INF/spring/appServlet/mysql_persistence_info.xml is

  <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/MyrDB"/>
    <property name="username" value="user"/>
    <property name="password" value="user"/>
    <!-- connection pooling details -->
    <property name="initialSize" value="1"/>
    <property name="maxActive" value="5"/>
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    </props>
    </property>
    <property name="annotatedClasses">
    <list>
    <!--   all the annotation entity classes -->
    </list>
    </property>
    </bean>
    </beans>

I have all jar files required in classapath. I am using STS.

I have commons-dbcp.jar and all the rest of the jar files too.

like image 620
djoshi Avatar asked Oct 02 '11 16:10

djoshi


2 Answers

Please make sure that commons-dbcp-1.4.jar file is inside of your lib folder. you should copy past it in eclipse.

See this image

enter image description here

like image 149
danny.lesnik Avatar answered Nov 12 '22 10:11

danny.lesnik


For me, just adding commons-dbcp-1.4.jar to my classpath did not work. Had to add commons-pool-1.6.jar as well. This post describes the reason. There is a download link too in that post.

like image 4
Saad Avatar answered Nov 12 '22 10:11

Saad