gpt4 book ai didi

scala - 未加载 HikariCP 驱动程序的 3.0.0 - IllegalAccessException : AbstractHikariConfig can not access a member with modifiers "private"

转载 作者:行者123 更新时间:2023-12-04 16:52:03 25 4
gpt4 key购买 nike

我正在尝试使用 tminglei/slick-pg v9.0.0使用光滑的 3.0.0 并且我收到了 IllegalAccessException :

akka.actor.ActorInitializationException: exception during creation
at akka.actor.ActorInitializationException$.apply(Actor.scala:166) ~[akka-actor_2.11-2.3.11.jar:na]
...
Caused by: java.lang.RuntimeException: driverClassName specified class 'com.github.tminglei.MyPostgresDriver$' could not be loaded
at com.zaxxer.hikari.AbstractHikariConfig.setDriverClassName(AbstractHikariConfig.java:370) ~[HikariCP-java6-2.3.8.jar:na]
at slick.jdbc.HikariCPJdbcDataSource$$anonfun$forConfig$18.apply(JdbcDataSource.scala:145) ~[slick_2.11-3.0.0.jar:na]
at slick.jdbc.HikariCPJdbcDataSource$$anonfun$forConfig$18.apply(JdbcDataSource.scala:145) ~[slick_2.11-3.0.0.jar:na]
at scala.Option.map(Option.scala:146) ~[scala-library-2.11.7.jar:na]
at slick.jdbc.HikariCPJdbcDataSource$.forConfig(JdbcDataSource.scala:145) ~[slick_2.11-3.0.0.jar:na]
at slick.jdbc.HikariCPJdbcDataSource$.forConfig(JdbcDataSource.scala:135) ~[slick_2.11-3.0.0.jar:na]
at slick.jdbc.JdbcDataSource$.forConfig(JdbcDataSource.scala:35) ~[slick_2.11-3.0.0.jar:na]
at slick.jdbc.JdbcBackend$DatabaseFactoryDef$class.forConfig(JdbcBackend.scala:223) ~[slick_2.11-3.0.0.jar:na]
at slick.jdbc.JdbcBackend$$anon$3.forConfig(JdbcBackend.scala:33) ~[slick_2.11-3.0.0.jar:na]
...
Caused by: java.lang.IllegalAccessException: Class com.zaxxer.hikari.AbstractHikariConfig can not access a member of class com.github.tminglei.MyPostgresDriver$ with modifiers "private"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109) ~[na:1.7.0_79]
at java.lang.Class.newInstance(Class.java:373) ~[na:1.7.0_79]
at com.zaxxer.hikari.AbstractHikariConfig.setDriverClassName(AbstractHikariConfig.java:366) ~[HikariCP-java6-2.3.8.jar:na]
... 43 common frames omitted

HikariCP 是 slick 3.0.0 中的默认连接池

我已经定义了驱动程序类,就像在 example 中一样。 :
trait MyPostgresDriver extends ExPostgresDriver with PgArraySupport
with PgEnumSupport
with PgRangeSupport
with PgHStoreSupport
with PgSearchSupport{

override val api = new MyAPI {}

//////
trait MyAPI extends API
with ArrayImplicits
with RangeImplicits
with HStoreImplicits
with SearchImplicits
with SearchAssistants

}

object MyPostgresDriver extends MyPostgresDriver

我的数据库配置非常简单[类型安全配置的摘录如下]:
slick.dbs.default {

driver="com.github.tminglei.MyPostgresDriver$"

db {
driver="org.postgresql.Driver"

url="jdbc:postgresql://hostname:port/dbname"
user=user
password="pass"
}
}

似乎它不应该工作,但是......

我应该以某种方式更改我的驱动程序类吗?是别的吗?

注意:从我使用的堆栈跟踪中可以看出
  • Java 1.7.0_79
  • 斯卡拉 2.11.7
  • akka 2.3.11(我共享 slick 和 akka 的配置实例)
  • 光滑 3.0.0
  • HikariCP-java6 2.3.8
  • tminglei 的 slick-pg_core 0.9.0


  • 最后,通过 Class.class 中的 jdk 代码调试时(反编译的第 143 行)
     Constructor tmpConstructor1 = this.cachedConstructor; 

    我得到以下(toString'ed)值(如intellij所示):
    private com.github.tminglei.MyPostgresDriver$()

    这能说明问题吗?如果是这样,我应该如何修复它?

    编辑

    我已经用股票 PostgresDriver 替换了自定义驱动程序配置,如下所示:
    slick.dbs.default {

    driver="slick.driver.PostgresDriver$"

    db {
    driver="org.postgresql.Driver"

    url="jdbc:postgresql://hostname:port/dbname"
    user=user
    password="pass"
    }
    }

    错误是一样的:
    akka.actor.ActorInitializationException: exception during creation
    ...
    Caused by: java.lang.RuntimeException: driverClassName specified class 'slick.driver.PostgresDriver$' could not be loaded
    ...
    Caused by: java.lang.IllegalAccessException: Class com.zaxxer.hikari.AbstractHikariConfig can not access a member of class slick.driver.PostgresDriver$ with modifiers "private"

    最佳答案

    我有一个类似的问题。

    我认为您正在使用 Database.forConfig("slick.dbs.default")但你的配置文件在 DatabaseConfig格式。

    相反,请尝试使用:

    val dbConfig: DatabaseConfig[PostgresDriver] = DatabaseConfig.forConfig("slick.dbs.default")
    val db = dbConfig.db

    关于scala - 未加载 HikariCP 驱动程序的 3.0.0 - IllegalAccessException : AbstractHikariConfig can not access a member with modifiers "private",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155042/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com