Apache Fineract CN Anubis 开源项目安装与使用指南
一、项目的目录结构及介绍
Apache Fineract CN Anubis 的主要目标是提供一个安全库来验证JWT令牌,这些令牌由身份服务产生,以保护金融服务。其项目结构如下:
-
api
:存放 API 相关的信息。 -
component-test
:用于组件级别的测试代码。 -
gradle/wrapper
:Gradle wrapper 文件所在位置,便于跨平台构建项目。 -
library
:核心功能实现的代码库。-
src/main/java
: 主要的Java源代码。 -
src/test/java
: 单元测试相关的Java源码。
-
-
test
:用于存放集成测试或更高层次的测试相关资源。 -
.gitignore
:Git忽略文件,避免一些不必要的文件被提交到仓库中。 -
HEADER
: 存放项目的版权信息和其他法律声明。 -
LICENSE
: 记录项目的授权许可类型(Apache-2.0)。 -
NOTICE.txt
: 提供对第三方依赖的版权声明和许可详情。 -
README.md
: 包含项目的简介和基本操作指导。 -
build.gradle
: Gradle 构建脚本,定义了构建过程中的依赖项及其版本等。 -
gradlew
,gradlew.bat
: 分别用于Linux/Mac和Windows环境下的Gradle任务执行脚本。 -
settings.gradle
: 指定项目依赖关系,包括子项目。 -
shared.gradle
: 可能包含共享设置或插件集合的Gradle配置文件。
二、项目的启动文件介绍
Apache Fineract CN Anubis 主要通过Gradle构建工具进行编译和运行,因此,关键的“启动”步骤主要涉及运行gradlew
或gradlew.bat
(取决于操作系统)。具体而言,在命令行下进入到项目根目录,可使用以下命令:
对于Linux或Mac:
./gradlew run
对于Windows:
gradlew.bat run
然而,值得注意的是,“run”任务可能不会像传统的应用程序那样显示启动界面,因为Anubis主要是作为一个库在其他应用中被调用。
三、项目的配置文件介绍
Apache Fineract CN Anubis 的大部分配置是通过Java代码实现的,特别是在library/src/main/java/org/apache/fineract/cn/anubis/config
目录下的类实现。特别重要的是FinKeycloakSecurityConfigurerAdapter.java
,它定制了如何整合Keycloak来进行安全认证和访问控制。
此外,如果有外部配置需求,如连接数据库或其他微服务时,通常通过Spring框架的属性文件如application.properties
或者application.yml
进行配置。这类文件并不位于Anubis项目内部,而是在使用该库的应用程序中,以便于它们可以自由地调整与自身环境相匹配的配置值。
由于Anubis本身不包含此类特定于应用程序的配置,实际开发中应参照Spring Boot的官方文档以及所使用的IDaaS(Identity as a Service)解决方案(例如Keycloak)的文档进行正确配置。