无法将 JDBC-Hikari 连接到我的 Micronaut 应用程序

Not Able to Connect JDBC-Hikari To my Micronaut App

我在 运行 sudo ./gradlew run 之后遇到错误:

Task :run FAILED 12:03:13.440 [main] ERROR com.zaxxer.hikari.HikariConfig - Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader jdk.internal.loader.ClassLoaders$AppClassLoader@3d4eac69 12:03:13.445 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Bean definition [javax.sql.DataSource] could not be loaded: Error instantiating bean of type [javax.sql.DataSource]

我的 Application.yml 长什么样:


micronaut:
  application:
    name: freshdb2

#datasources.default: {}

datasources:
  default:
    url: jdbc:mysql://localhost:3306/mydb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
    username: root
    password: ""
    driverClassName: com.mysql.jdbc.Driver

您缺少驱动程序,您应该添加依赖项 mysql-connector-java,对于 gradle 添加:

runtime group: 'mysql', name: 'mysql-connector-java', version: '8.0.13'

我也收到了消息:

io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [javax.sql.DataSource]

我没有使用 MySQL,只是想从 Micronaut Data Guide 和其他使用 H2 的人那里了解如何使用 JPA。

原来我错误地将数据源属性复制到了 application.yml。上面的消息就是你能告诉你的所有信息。

在我的例子中,下面的反引号变成了别的东西。

datasources:   
  default:
    url: ${JDBC_URL:`jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE`}
    username: ${JDBC_USER:sa}
    password: ${JDBC_PASSWORD:""}
    driverClassName: ${JDBC_DRIVER:org.h2.Driver}
    dialect: ${JDBC_DIALECT:H2}