ResourceException: クラス名が間違っているか、MysqlDataSource のクラスパスが設定されていません

ResourceException: クラス名が間違っているか、MysqlDataSource のクラスパスが設定されていません

現在フォローしている このリンク

解決する

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.cj.jdbc.MysqlDataSource

そこで、以下のスクリーンショットに示すように、mysql-connector-java-5.1.46.jar を GlassFish インストールに追加しました。

Glassfish インストールディレクトリ

Glassfish を再起動した後も、.war は同じエラー メッセージでデプロイされません (以下のスタック トレースを参照)

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.cj.jdbc.MysqlDataSource
    at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:278)
    at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:117)
    at com.sun.gjc.spi.ManagedConnectionFactoryImpl.getDataSource(ManagedConnectionFactoryImpl.java:1383)
    at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:163)
    at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:102)
    at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)

誰かこの問題を解決する方法を知っていますか? ありがとうございます。

答え1

私はpom.xmlにこの依存関係を追加することで解決しました

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.14</version>
        </dependency>

mysql-connector-java-8.0.14.jar を /payara5/glassfish/domains/domain1/lib に配置する代わりに。

関連情報