You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak集成Google Cloud Logging时出现IllegalAccessError等错误的解决

Keycloak 21.0.2集成google-cloud-logging时出现Protobuf相关权限及类初始化错误

在Keycloak 21.0.2的Quarkus运行时模块中添加3.15.11版本的google-cloud-logging依赖,尝试在QuarkusWelcomeResource类的isLocal()方法中实现写入Google Cloud Logging的逻辑,启动服务后抛出java.lang.IllegalAccessError、java.lang.NoClassDefFoundError等错误,报错指向com.google.protobuf相关类的访问权限问题及类初始化失败。

报错日志

2023-10-25 12:22:54,385 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-0) Uncaught server error: java.lang.IllegalAccessError: class com.google.logging.v2.LogBucket tried to access method 'com.google.protobuf.LazyStringArrayList com.google.protobuf.LazyStringArrayList.emptyList()' (com.google.logging.v2.LogBucket and com.google.protobuf.LazyStringArrayList are in unnamed module of loader io.quarkus.bootstrap.runner.RunnerClassLoader @2b9627bc)
    at com.google.logging.v2.LogBucket.<init>(LogBucket.java:400)
    ...(省略重复报错内容)

复现步骤

  • 生成Service Account Key(JSON格式)
  • 设置环境变量:export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
  • 下载Keycloak 21.0.2开源版本
  • 进入quarkus/runtime目录
  • 在pom.xml中添加依赖:
<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-logging</artifactId>
    <version>3.15.11</version>
</dependency>
  • 在src/main/java/org/keycloak/quarkus/runtime/services/resources/QuarkusWelcomeResource.java的isLocal()方法中添加日志写入逻辑
  • 在keycloak/quarkus目录执行mvn clean install -DskipTests编译项目
  • 解压keycloak/quarkus/dist/target/keycloak-21.0.2.tar.gz
  • 执行keycloak-21.0.2/bin/kc.sh start-dev启动服务

内容的提问来源于stack exchange,提问作者MrP4sten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:47:02