6.3. 注册供应商实现


通过将 JAR 文件复制到提供程序目录,将 提供程序 注册到服务器。

如果您的供应商需要没有由 Keycloak 提供的额外依赖项,请将它们复制到 供应商 目录中。

注册新供应商或依赖项 Keycloak 后,需要使用非优化启动或 kc.[sh|bat] build 命令重建。

注意

供应商 JAR 不加载在隔离的类加载器中,因此不要包含与内置资源或类冲突的供应商 JAR 中的资源或类。特别是包含 application.properties 文件或覆盖 commons-lang3 依赖项,如果删除了供应商 JAR,则 auto-build 会导致 auto-build 失败。如果您包含冲突的类,您可能会在服务器的启动日志中看到 split package 警告。不幸的是,并非所有内置 lib jar 通过 split 软件包警告逻辑检查,因此您需要在捆绑或包含传输依赖关系之前检查 lib 目录 JAR。如果存在冲突,可以通过删除或重新打包出错类来解决。

如果您已有冲突的资源文件,则不会发出警告。您应该确保 JAR 的资源文件具有包含该提供程序唯一内容的路径名称,或者您可以检查 "install root"/lib/lib/main 目录下的 JAR 内容中是否存在 some.file,如下所示:

find . -type f -name "*.jar" -exec unzip -l {} \; | grep some.file
Copy to Clipboard Toggle word wrap

如果发现您的服务器因为与已删除的供应商 JAR 相关的 NoSuchFileException 错误而无法启动,则运行:

./kc.sh -Dquarkus.launch.rebuild=true --help
Copy to Clipboard Toggle word wrap

这将强制 Quarkus 重建相关的索引文件。您可以从那里执行非优化的启动或构建,而无需例外。

6.3.1. 禁用供应商

您可以通过将供应商的 enabled 属性设置为 false 来禁用供应商。例如,禁用 Infinispan 用户缓存提供程序使用:

bin/kc.[sh|bat] build --spi-user-cache-infinispan-enabled=false
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat