keycloak18.0.0==本地源码启动

github下载源码,

版本18.0.0

java和maven的版本如下

复制代码
E:\keycloak-18.0.0>java -version
java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

E:\keycloak-18.0.0>mvn -version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)

E:\keycloak-18.0.0>

修改maven的镜像仓库为官方指定的,否则会报错

复制代码
<mirrors>
  <mirror>
    <id>jboss-public-repository-group-https</id>
    <mirrorOf>jboss-public-repository-group</mirrorOf>
    <name>Jboss public https</name>
    <url>https://repository.jboss.org/nexus/content/groups/public/</url>
  </mirror>
</mirrors>

然后先install一遍下载各种依赖

mvn -Dmaven.test.skip clean install

可能会报错,没什么问题,只要能下载大部分的依赖就行

然后用IDEA打开源码

找到类

org.keycloak.testsuite.KeycloakServer

启动

可以发现默认使用了h2做了DB。

直接DEBUG启动,找到决定使用什么DB的地方

修改keycloak-server.json

复制代码
 "connectionsJpa": {
        "default": {
            "url": "${keycloak.connectionsJpa.url:jdbc:mysql://localhost:3306/keycloakTest?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8}",
            "driver": "${keycloak.connectionsJpa.driver:com.mysql.jdbc.Driver}",
            "driverDialect": "${keycloak.connectionsJpa.driverDialect:org.hibernate.dialect.MySQL5InnoDBDialect}",
            "user": "${keycloak.connectionsJpa.user:root}",
            "password": "${keycloak.connectionsJpa.password:123456}",
            "showSql": "${keycloak.connectionsJpa.showSql:}",
            "formatSql": "${keycloak.connectionsJpa.formatSql:}",
            "globalStatsInterval": "${keycloak.connectionsJpa.globalStatsInterval:}"
        }
    },

再次启动org.keycloak.testsuite.KeycloakServer

自动创建了一个超管账户admin admin

DB里自动初始化了几十个表

登录

相关推荐
这个DBA有点耶36 分钟前
Redo Log循环写与checkpoint推进:长事务阻塞下的Checkpoint风暴完整链路
数据库·mysql·代码规范
jnrjian1 小时前
pg_waldump --key-file-name status 查看wal 产生的db
数据库
SelectDB技术团队2 小时前
Snowflake 的开源替代怎么选:能力对照、三条部署路径与迁移执行
大数据·数据库·云原生·开源·snowflake·apache doris
Elastic 中国社区官方博客2 小时前
告别繁琐控制台:Kabanos 如何将 MongoDB Compass 的易用性带入 Elasticsearch
大数据·数据库·mongodb·elasticsearch·搜索引擎·全文检索
京东云开发者2 小时前
当我谈数据库高可用时我谈些什么
数据库
梦影_2 小时前
MySQL进阶教程(一)—— 储存过程与触发器(上)
开发语言·数据库·后端·sql·mysql·中间件
星禾元亨3 小时前
用结构化数据与干净实体信号,让技术内容被 AI 搜索引擎稳定引用
数据库·人工智能·自动化·创业创新
底层玩家老张3 小时前
45:1压缩、19.1倍查询:1956亿行时序数据复盘
数据库·经验分享·时序数据库·存储压缩·写入优化
qq_白羊座3 小时前
口头说的 JSON 和 MySQL 里的 JSON
数据库·mysql·json
Shaoshing3 小时前
多表查询
数据库