Ich habe Java-Web-Anwendung mit Spring, Hibernate, Tomcat7 & MySql. Ich verwende Datasource für Datenbankoperationen. Ich bin nicht sehr klar darüber, was ist der Standard-Speicherort zum Laden der JAR-Dateien (Tomcat-jdbc.jar
& Mysql-connector.jar
) aus? Es funktioniert, wenn ich BEIDE die Gläser entweder in CATALINA_HOME/lib/
oder webapps/myApp/WEB-INF/lib
halte. Aber mir wurde gesagt, nur die Tomcat-jdbc von CATALINA_HOME/lib/und mysql-connector.jar
von /WEB-INF/lib/
zu verwenden, die eine ClassNotFound
Ausnahme für Sql Driver
gibt. Kann jemand mich wissen lassen, welcher der richtige Ort für diese Gläser ist?Wo sollten sich die JAR-Dateien des JDBC-Treibers in einer Tomcat-Implementierung mit einer Datenquelle befinden?
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="initialSize" value="${db.initialSize}" />
<property name="minIdle" value="${db.minIdle}" />
<property name="maxActive" value="${db.maxActive}" />
<property name="maxIdle" value="${db.maxIdle}" />
<property name="testWhileIdle" value="${db.testWhileIdle}" />
<property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}" />
<property name="timeBetweenEvictionRunsMillis" value="${db.timeBetweenEvictionRunsMillis}" />
<property name="validationQuery" value="${db.validationQuery}" />
</bean>
Haben Sie den MySQL-Treiber auf Ihrem Klassenpfad? – NickJ
Ja. /WEB-INF/lib/mysql-connector.jar – PeterGriffin
Lesen Sie auch [Apache Tomcat 6.0 Class Loader HOW-TO] (https://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html) –