web-dev-qa-db-ja.com

MySQLデータベースをGlassfishクラスパスに接続していないか、クラス名が間違っています

私はMySQLデータベース用にダービーデータベースを交換しています。以前はすべてが機能していましたが、適切な構成だと思った後にエラーが発生しています:

原因:javax.resource.ResourceException:クラス名が間違っているか、クラスパスが設定されていない:com.mysql.jdbc.jdbc2.optional.MysqlDataSource

コンソールからの完全なエラー出力:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
at com.Sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.Java:292)
at com.Sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.Java:114)
at com.Sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.Java:1292)
at com.Sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.Java:148)
at com.Sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.Java:101)
at com.Sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.Java:87)

いくつかの名前、接続プール、その他のリソースを再確認しました。また、両方のプロジェクトで、GlassfishのライブラリにMySQLドライバー.jarを追加しました。 Eclipseのデータベースコンテキスト内でテーブルを表示し、リソースを表示することができたため、データベースはEclipseを介して確実に正しく機能していました。したがって、少なくともこれらのドライバーが正しく動作していることを知っています。 persistence.xmlファイルも見た目が良いです。 jdbc/mydatabase jndi参照を参照する必要があり、デフォルトのJTAが管理タイプとして選択されます。

誰か別の提案がありますか?ありがとうございました

23
Randnum

MySQLドライバー.jarsも両方のプロジェクトのglassfishのライブラリに追加しました。

それは明らかに正しく行われなかった。 JARは/glassfish/domains/[domainname]/lib/ext Glassfishインストールのフォルダ[domainname]通常、デフォルトはdomain1。 Eclipse側から構成することはできますが、すべきではありません。

37
BalusC

私は非常に遅れて返信しているように見えますが、このスレッドを参照する人は次の情報が役に立つかもしれません。だから私はここに投稿しています:

  1. コネクタJarを http://dev.mysql.com/downloads/connector/j/5.0.html からダウンロードします
  2. パックを解凍し、mysql-connector-Java-verno-bin.jarをコピーします
  3. [GlassFishインストールディレクトリ]/domains/[ドメイン名]/libフォルダーで同じ
  4. ドメインを再起動し、JDBC接続プールで接続を確認するためにpingを実行します

行くぞMySqlが実行されている場合、DBに正常にpingを送信します

23
Ram

Jarファイルを$glassfish_install_folder\glassfish\libにコピーした後、動作しました。私はglassfish 4.0を使用します。

これを確認してください link Oracleから。

5
wei

2018年にこの問題が発生しましたが、glassfish 4(現在は5)を使用している場合は、Connector/J 5.1.47バージョンを使用する必要があるようです。現在のバージョン(Connector/J 8.0.13)を使用している場合、.jarファイルをどこに配置しても、元の質問で述べた例外が表示され続けます。

Connector/J 5.1.47では、完全に機能します。

2
Mercious