第 6 章 迁移自定义供应商
与 Red Hat Single Sign-On 7.6 类似,通过把自定义供应商复制到部署目录中,自定义供应商会部署到红帽构建的 Keycloak 中。在 Red Hat build of Keycloak 中,将供应商复制到 供应商
目录中,而不是 独立/部署
,这不再存在。另外,其他依赖项也应复制到 providers
目录中。
红帽构建的 Keycloak 不会将单独的类路径用于自定义供应商,因此您可能需要更小心地使用您包含的额外依赖项。此外,不再支持 EAR
和 WAR
打包格式和 jboss-deployment-structure.xml
文件。
虽然 Red Hat Single Sign-On 7.6 会自动发现自定义供应商,但在 Keycloak 运行时热部署自定义供应商的功能,但它不再被支持。另外,在更改 providers
目录中的供应商或依赖项后,您必须使用自动构建功能执行构建或重启服务器。
根据您的提供程序使用的 API,您可能需要对提供程序进行一些更改。详情请查看以下部分。
6.1. 从 Java EE 转换到 Jakarta EE
Keycloak 将其代码库从 Java EE (企业版)迁移到 Jakarta EE,这会带来各种更改。我们已升级了所有 Jakarta EE 规格,以支持 Jakarta EE 10,例如:
- Jakarta Persistence 3.1
- Jakarta RESTful Web Services 3.1
- Jakarta Mail API 2.1
- Jakarta Servlet 6.0
- Jakarta Activation 2.1
Jakarta EE 10 提供了现代化、简化的轻量级方法来构建云原生 Java 应用程序。此计划中提供的主要更改是将命名空间从 javax
configured 改为 jakarta ruby
。这个更改不适用于 JDK 中直接提供的 javax
targeted 软件包,如 javax.security
、xx.net
、xx.crypto
等。
另外,不再支持 Jakarta EE API (如 session/stateless Bean)。