2012-09-17 16 views
5

それが呼ばれているorg.apache.tomcat.jdbc.DataSourceクラス思わしかし、私は、バージョンのtomcat-dbcp.jarorg.apache.tomcat.jdbc.pool.DataSourceはtomcat 7のdbcp jarファイルに含まれていませんか?

の7.0.30を使用してのtomcat-DBCPためのバネが管理するスタンドアロンのプールを作成しようとしていますTomcatのドキュメント(http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Standalone)

<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" 
    destroy-method="close"> 
    <property name="factory" 
     value="org.apache.tomcat.jdbc.pool.DataSourceFactory" /> 
    <property name="type" value="javax.sql.DataSource" /> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/ym" /> 
    <property name="username" value="admin" /> 
    <property name="password" value="admin" /> 
    <property name="initialSize" value="5" /> 
    <property name="maxActive" value="10" /> 
</bean> 

内にしたがって、この春のBean定義は、しかし、Tomcatのドキュメントに従って正しいですかアプリを起動すると、CNF例外が発生します。

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.tomcat.jdbc.pool.DataSource] for bean with name 'dataSource' defined in class path resource [application-context.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool.DataSource 

私は超愚かであり、ここではっきり見逃していますか?

答えて

6

クラスorg.apache.tomcat.jdbc.pool.DataSourceは、tomcat-dbcp.jarではなくtomcat-jdbc.jarに含まれています。 Tomcat JDBC Connection Poolは、commons-dbcpの代わりに使用され、tomcat-dbcpは名前が変更されたバージョンです。

jarファイルtomcat-jdbc.jarは、すべてのTomcatインストールに含まれていません(標準のDebian/Ubuntuパッケージには含まれていません)。 Maven Centralからダウンロードするか、またはTomcat binary distributionアーカイブで見つけることができます。それは含まれています

+0

、少なくとも、7.0.37 tar.gz形式 –

+0

そうだね、私はそれはLinux用のDebian/Ubuntuのパッケージのような一部のインストールに含まれていないことを意味しました。それをもっと明確にするために私の答えを編集しました。 –

+0

私はtomcatのWindowsパッケージを持っています。しかし、これはtomcat 8.0.14です。このjarファイルはどこに置くべきですか? – grep