データベースにアクセスするためにjarファイル(lib)を使用するWebアプリケーションがあります。jar ファイルをスタンドアロン アプリケーションとして使用すると正しく実行されますが、webapp は次のエラーを受け取りました。
[01-08-12 13:17:05] - 35266 WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 08001
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/myapp
同様の質問への回答を読みましたが、どれも私の問題を解決しません。
私が使用している mysql バージョン 5.1.21 の依存関係を追加した Maven を使用しています。実際、Lib と Webapp の両方に追加しました。
その前に、Web アプリケーションの Eclipse プロジェクトの WEB-INF/lib にコピーした同じファイルにバインドされた接続ドライバー定義を Eclipse で定義しようとしました。ファイル
私はpersistence.xmlファイルですべての構成を行うため、構成にjavaを使用していません(アプリ(lib)用とwebapp用の両方のMETA-INFフォルダーにコピーしました。私は使用していますJPA を使用して休止状態 (4.1.2) にします。
persistence.xml ファイルは次のようになります。
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="myappPersistenceUnit"
transaction-type="RESOURCE_LOCAL">
<provider> org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/myapp" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="" />
</properties>
</persistence-unit>
</persistence>
私が取得する例外は、アプリへのHTTPリクエストを起動するときの実行時であり、エラーは見られませんが、この警告が表示されるwebappの初期化時ではありません。
[01-08-12 13:16:39] - 8782 警告 org.hibernate.engine.jdbc.internal.JdbcServicesImpl - HHH000342: クエリ メタデータへの接続を取得できませんでした: jdbc:mysql://localhost に適したドライバーが見つかりません: 3306/マイアプリ
これは、初期化時にデータベースから検索される情報が必要ないためであり、例外はスローされませんが、どちらの場合も根本的な原因は同じであるためだと思います。
編集:Tomcat 6.0を使用しています
どんな助けでも大歓迎です。