开发指南

开发工具及相关软件

软件版本备注
JDK 1.8 + JAVA运行及开发工具包
eclipse-jee 2020-06 + 推荐JAVA开发工具
Gradle 7.0+ + 代码构建
Tomcat/tomcat-embed 9 + 应用服务器
MySQL Server 8.0.21 + 数据库服务器
Kafka 2.5.0 + 用户生命周期管理同步中间件
Redis 6 + 高速缓存内存数据库
OpenLDAP 2.2 + 企业目录服务器

程序目录

MaxKey一级目录二级目录三级目录说明
README.md 关于MaxKey项目
LICENSE 许可证
config 构建的三种方式配置bootjar,docker,standard
maxkey-authentications 登录认证
maxkey-authentication-captcha 登录认证-验证码
maxkey-authentication-core 登录认证-核心功能
maxkey-authentication-otp 登录认证-令牌和一次性口令
maxkey-authentication-social 登录认证-社交账号
maxkey-common 通用基础包和工具类
maxkey-core 基础包
maxkey-identitys 身份管理
maxkey-identity-rest REST身份管理接口
maxkey-identity-scim SCIM2.0身份管理接口
maxkey-synchronizers 身份同步器
maxkey-lib 使用jar包
maxkey-persistence 数据库持久化和Kafka同步
maxkey-protocols 认证协议实现
maxkey-protocol-authorize 认证协议及单点注销实现
maxkey-protocol-cas CAS认证协议实现
maxkey-protocol-extendapi 扩展API实现
maxkey-protocol-formbased Formbased实现,桌面认证实现开发浏览器插件实现
maxkey-protocol-jwt JWT实现
maxkey-protocol-oauth-2.0 oauth-2.0实现
maxkey-protocol-saml-2.0 saml-2.0实现
maxkey-protocol-tokenbased tokenbased实现
maxkey-web-manage 管理系统
maxkey-web-maxkey 认证系统
shellscript Window和LINUX启动脚本
sql 数据库MYSQL脚步,GA版本对应SQL
checkstyle 编码规范配置
build.gradle 工程构建及版本控制
build_cnf_docker.gradle docker工程构建及版本控制
build_cnf_jar.gradle bootjar工程构建及版本控制
build_cnf_standard.gradle standard工程构建及版本控制
gradle.properties 版本参数配置
settings.gradle 项目引入
ReleaseNotes.txt GA版本描述
gradle gradle的配置
setEnvVars.bat JDK及Gradle路径配置,用于构建脚本,需要开发人员自行配置
release.bat 构建版本
release_cnf_docker.bat 构建docker版本配置
release_cnf_jar.bat 构建bootjar版本配置
release_cnf_standard.bat 构建standard版本配置
eclipsePluginApply.bat 设置IDE

开发环境应用启动

MaxKey统一认证系统

maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java

MaxKey身份安全管理系统

maxkey-web-manage/src/main/java/org/maxkey/MaxKeyMgtApplication.java

标准构建Release

1.配置环境变量

setEnvVars.bat

set JAVA_HOME=D:\JavaIDE\jdk1.8.0_91

set GRADLE_HOME=D:\JavaIDE\gradle-5.4.1

2.启动构建

release.bat

3.构建结果

构建包路径

MaxKey/build/maxkey-jars

依赖包路径

MaxKey/build/MaxKey-v(version)GA

Docker构建release

1.Docker 构建配置

release_cnf_docker.bat

2.启动构建

release.bat

3.构建的结果

maxkey-web-manage/

maxkey-web-maxkey/

SpringBoot构建release

1.SpringBoot Jar 构建配置

release_cnf_jar.bat

2.启动构建

release.bat

3.构建的结果

maxkey-web-manage/

maxkey-web-maxkey/

问题及解决

问题1

“A cycle was detected in the build path of project: XXX”

解决方法:

Eclipse Menu -> Window -> Preferences… -> Java -> Compiler -> Building -> Building path problems -> Circular dependencies -> 将Error改成Warning

问题2

Access restriction

解决方案:

Eclipse Menu -> Window -> Preferences… -> Java -> Compiler -> Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的规则由默认的Error改为Warning即可。