老赵写字的地方

Nop 项目模块使用与更新指南

项目结构

nop-entropy 是一个 Maven 多模块项目,根目录包含 40+ 子模块。每个模块独立,按需选择依赖。

核心模块:

模块 说明
nop-kernel 虚拟文件系统、反射、XML/JSON 解析
nop-xlang XLang 脚本和模板语言
nop-ioc IoC 容器
nop-config 动态配置中心
nop-orm ORM 引擎
nop-graphql GraphQL 引擎(同时暴露 REST)
nop-rpc 分布式 RPC
nop-report 中国式报表引擎
nop-rule 规则引擎
nop-batch 批处理引擎
nop-task 逻辑流编排
nop-wf 工作流引擎
nop-auth 用户权限管理
nop-sys 系统配置管理
nop-codegen 代码生成器
nop-autotest 模型驱动自动化测试

Maven 坐标

所有模块发布到 Maven 中央仓库(需要最新版本号去 Central 查询)。坐标格式:

<dependency>
    <groupId>io.github.entropy-cloud</groupId>
    <artifactId>nop-orm</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

也可以直接在本地编译安装:

git clone https://gitee.com/canonical-entropy/nop-entropy.git
cd nop-entropy
./mvnw clean install -DskipTests

如何选择模块

最小引用只需 nop-kernel + nop-core-framework:

<dependency>
    <groupId>io.github.entropy-cloud</groupId>
    <artifactId>nop-kernel</artifactId>
    <version>${nop.version}</version>
</dependency>

逐层添加:

  • 需要 ORM → 加 nop-orm
  • 需要 REST/GraphQL 接口 → 加 nop-graphql
  • 需要报表 → 加 nop-report
  • 需要用户权限 → 加 nop-auth + nop-sys

集成方式

Nop 不依赖 Spring,但可以集成到 Spring、Quarkus、Solon 中运行。

Quarkus 集成(推荐):

<dependency>
    <groupId>io.github.entropy-cloud</groupId>
    <artifactId>nop-quarkus</artifactId>
    <version>${nop.version}</version>
</dependency>

参考 nop-auth-app 模块的配置。

Spring 集成:

<dependency>
    <groupId>io.github.entropy-cloud</groupId>
    <artifactId>nop-spring</artifactId>
    <version>${nop.version}</version>
</dependency>

可以整合为独立的 Spring Boot starter。

Solon 集成(国产框架):

nop-solon 模块,打包体积比 Spring 小 10+ MB。

版本策略

项目目前版本号为 2.0.0-SNAPSHOT,处于快速迭代阶段。版本号含义:

  • 2.x — 主版本号,架构级变更时升级
  • x.0 — 次版本号,新增功能
  • x.x-SNAPSHOT — 开发版,随时可能变更

如何获取更新

方式一:跟踪源码

git clone https://gitee.com/canonical-entropy/nop-entropy.git
cd nop-entropy
git pull
./mvnw clean install -DskipTests

推荐使用 Gitee 镜像,国内访问更快。

方式二:Maven 中央仓库

正式版发布后可以通过 Maven 依赖直接引入,无需本地编译。目前 2.0.0 正式版尚未发布。

方式三:关注项目动态

升级注意事项

由于项目处于 2.0.0-SNAPSHOT 阶段,API 可能发生变化。升级时注意:

  • 查看 CHANGELOG.md 了解每个版本的变更
  • Delta 定制层不受自动生成代码变更的影响——这是 Nop 的优势
  • 如果使用 Spring 集成,需同步检查 nop-spring 版本匹配

进一步阅读

zh/nop/practical_guide/module_guide.txt · 最后更改: 由 127.0.0.1