请确保您已经安装了 JDK 11 (或更高版本)、Maven 3.5.4 (或更高版本) 和 Git:
java -version
mvn -version
git --version
注意
如果您使用的是 Maven 3.8.1 或更高版本,请将以下镜像添加到本地 ~/.m2/settings.xml 文件中,以避免构建错误:
<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>
有关详细信息,请参见 KEYCLOAK-17812。
首先克隆 Keycloak 仓库:
git clone https://github.com/keycloak/keycloak.git
cd keycloak
要构建 Keycloak,请运行:
mvn clean install
这将构建所有模块并运行测试套件。
要构建 ZIP 发行版,请运行:
mvn clean install -Pdistribution
完成后,您将在 distribution 目录下找到发行版存档文件。
要仅构建服务器,请运行:
mvn -Pdistribution -pl distribution/server-dist -am -Dmaven.test.skip clean install
注意
org.keycloak.testsuite.* 包中的类不适合在生产环境中使用。构建 Quarkus 发行版
请参阅此 文档。启动 Keycloak
要在开发过程中启动 Keycloak,请首先按上述说明构建,然后运行:
mvn -f testsuite/utils/pom.xml exec:java -Pkeycloak-server
在运行测试套件时,默认情况下会在主域中创建一个用户名为 admin、密码为 admin 的帐户。
要从服务器分发版启动 Keycloak,请先按上述说明构建分发版,然后运行:
tar xfz distribution/server-dist/target/keycloak-<VERSION>.tar.gz
cd keycloak-<VERSION>
bin/standalone.sh
要停止服务器,请按 Ctrl + C。处理代码库
我们目前没有强制执行 Keycloak 中的代码风格,但是 WildFly 使用的代码风格是一个很好的参考。这可以从 Wildfly ide-configs 中获取。要导入格式规则,请参见以下 说明。
如果您的更改需要更新数据库,请阅读 更新数据库架构。
如果您的更改需要引入新的依赖项或更新依赖项版本,请先在开发者邮件列表中讨论。我们不轻易接受添加新依赖项,所以尽量使用可用的依赖项。从 IDE 构建项目
项目的某些部分依赖于使用 Maven 插件生成的代码。当使用 IDE 构建时可以跳过这些步骤,从而导致编译错误。为了解决这个问题,请确保首先使用 Maven 构建项目。经过初始的 Maven 构建后,您应该能够使用 IDE 构建项目,因为它将使用 Maven 插件之前生成的类。请确保不要使用 IDE 重新构建整个项目,因为它会删除生成的类。
例如,在 IntelliJ IDEA 中使用 Build → Build Project 而不是 Build → Rebuild Project。