有人遇到这个错吗??

[ERROR] Could not execute SQL statement. Reason: java.lang.reflect.InaccessibleObjectException: Unable to make field private static final int java.lang.Class.ANNOTATION accessible: module java.base does not "opens java.lang" to unnamed module @507b00ad

展开
收起
游客3oewgrzrf6o5c 2022-07-04 16:56:12 695 分享 版权
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,这个错误是因为阿里云 RDS 数据库使用了 JDK 9 或以上版本,而您的应用程序使用的 JDK 版本低于 9。此时,数据库驱动程序中的代码尝试打开 Java 核心类库中的注释类,但该操作在 JDK 9 或更高版本中已被限制。

    要解决此错误,您可以尝试升级应用程序或使用兼容 JDK 9 或更高版本的数据库驱动程序。您也可以尝试将 JDK 版本升级到 9 或更高版本。

    另外,如果您使用的是 Spring Boot,可以尝试在应用程序的配置文件中添加以下配置,以确保使用正确的 JDK 版本:

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
    spring.jpa.hibernate.ddl-auto=none
    spring.jpa.show-sql=true
    spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.jpa.database=mysql
    spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
    

    请注意,您需要将以上配置中的“com.mysql.cj.jdbc.Driver”替换为您正在使用的数据库驱动程序的完整类名,而“jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC”应替换为您的数据库的正确连接字符串。

    2023-08-22 18:03:53
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理