> 特别说明:源码、JDK、数据库、Redis等安装或存放路径禁止包含中文、空格、特殊字符等
## 一 项目结构
```text
├── jnpf-boot-common - 单体版本涉及依赖
│ ├── jnpf-common-auth - 认证模块
│ ├── jnpf-common-compatible - 兼容模块文件夹
│ ├── jnpf-common-office-v3- Boot3 Office
│ ├── jnpf-common-connector - 单点数据推送模块
│ ├── jnpf-common-core - 基础类及常用工具
│ ├── jnpf-common-database - 数据库配置及多数据库兼容
│ ├── jnpf-common-event - 事件发布
│ ├── jnpf-common-file - 文件工具类模块
│ ├── jnpf-common-i18n - 文件工具类模块
│ ├── jnpf-common-office - office操作模块
│ ├── jnpf-common-redis - 缓存工具Redis组件配置
│ ├── jnpf-common-scheduletask - 调度工具
│ ├── jnpf-common-security - 接口鉴权配置
│ ├── jnpf-common-selenium - 浏览器模拟
│ ├── jnpf-common-shardingsphere - shardingsphere配置
│ ├── jnpf-common-sms - 短信模块
│ ├── jnpf-common-swagger - API组件Swagger配置
│ └── pom.xml
├── jnpf-cloud-common - 微服务版本涉及依赖
│ ├── jnpf-common-cloudshardingsphere - 微服务shardingsphere配置
│ ├── jnpf-common-dubbo - Dubbo拦截器, 自动封装认证信息
│ ├── jnpf-common-mq - 消息队列
│ ├── jnpf-common-feign - 远程调用Feign组件配置
│ ├── jnpf-common-seata - seata依赖
│ └── pom.xml
├── jnpf-dependencies - 所有依赖版本
│ └── pom.xml
├── pom.xml
└── README.md - 项目说明文档
```
## 二 环境要求
| 类目 | 版本或建议 |
|-------|---------|
| 硬件 | 开发电脑建议使用I3及以上CPU,16G及以上内存 |
| 操作系统 | Windows 10/11,MacOS |
| JDK | 默认使用JDK 21,兼容JDK 8/11、JDK17(需调整部分代码),推荐使用 `OpenJDK`,如 `Liberica JDK`、`Eclipse Temurin`、`Alibaba Dragonwell`、`BiSheng`等发行版; |
| Maven | 依赖管理工具,推荐使用 `3.6.3` 及以上版本 |
| IDE | 代码集成开发环境,推荐使用 `IDEA2024` 及以上版本,兼容 `Eclipse`、 `Spring Tool Suite` 等IDE工具 |
## 三 关联项目
> 为以下项目提供基础依赖
| 项目 | 分支 | 说明 |
| --- |---------------| --- |
| jnpf-file-core-starter | v5.2.x-stable | 文件基础依赖项目源码 |
| jnpf-java-datareport-univer | v5.2.x-stable | Univer报表源码 |
| jnpf-java-datareport-univer-core | v5.2.x-stable | Univer报表核心依赖源码 |
| jnpf-scheduletask | v5.2.x-stable | 任务调度客户端依赖及服务端项目源码 |
| jnpf-java-boot | v5.2.x-stable | Java单体后端项目源码 |
| jnpf-java-cloud | v5.2.x-stable | Java微服务后端项目源码 |
## 四 使用方式
### 4.1 前置条件
#### 4.1.1 本地安装jnpf-common-core
在IDEA中,双击右侧 `Maven` 中 `jnpf-common` > `jnpf-boot-common` > `jnpf-common-core` > `Lifecycle` > `install`,将 `jnpf-common-core` 包安装至本地
#### 4.1.2 本地安装jnpf-dependencies
在IDEA中,双击右侧 `Maven` 中 `jnpf-common` > `jnpf-dependencies` > `Lifecycle` > `install`,将 `jnpf-dependencies` 包安装至本地
#### 4.1.3 本地安装file-core-starter
IDEA打开 `jnpf-file-core-starter` 项目, 双击右侧 `Maven`中 `jnpf-file-core-starter` > `Lifecycle` > `install`,将 `jnpf-file-core-starter` 包安装至本地
#### 4.1.4 本地安装scheduletask
IDEA打开 `jnpf-scheduletask` 项目, 双击右侧 `Maven`中`jnpf-scheduletask` > `Lifecycle` > `install`,将 `jnpf-scheduletask` 包安装至本地
### 4.2 本地安装
在IDEA中,双击右侧 `Maven` 中 `jnpf-common` > `Lifecycle` > `install`,将 `jnpf-common` 包安装至本地
### 4.3 私服发布
> 若无Maven私服,忽略本节内容
#### 4.3.1 配置Maven
打开Maven安装目录中的 `conf/setttings.xml`,
在 `` 节点增加 `` ,如下所示:
```xml
maven-releases
jnpf-user(账号,结合私服配置设置)
123456(密码,结合私服配置设置)
```
#### 4.3.2 配置项目
> 注意:pom.xml里 `` 和 setting.xml 配置里 `` 对应。
修改 `jnpf-common/jnpf-dependencies/pom.xml` 文件
```xml
maven-releases
maven-releases
http://nexus.jnpfsoft.com/repository/maven-releases/
```
#### 4.3.3 发布到私服
在IDEA中,双击右侧 `Maven` 中 `jnpf-common` > `Lifecycle` > `deploy` 发布至私服。
## 五 更新版本号
打开 `jnpf-common/jnpf-dependencies/` 目录,执行如下命令
```
# mvn versions:set -DnewVersion=5.2.0-RELEASE
mvn versions:set -DnewVersion=版本号
```