> 特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等安装或存放路径禁止包含中文、空格、特殊字符等 ## 一 技术栈 - 主框架:`Spring Cloud` + `Spring Cloud Alibaba` + `Spring Boot` + `Spring Framework` - 持久层框架:`MyBatis-Plus` - 数据库连接池:`Alibaba Druid` - 多数据源:`Dynamic-Datasource` - 数据库兼容: `MySQL`(默认)、`SQLServer`、`Oracle`、`PostgreSQL`、`达数据库`、`人大金仓数据库` - 分库分表解决方案:`Apache ShardingSphere` - 服务网关:`Spring Cloud Gateway` - 服务注册&发现和配置中心: `Alibaba Nacos` - 服务监控:`Spring Boot Admin` - 服务消费(调用):`Spring Cloud OpenFeign`、`Apache Dubbo` - 负载均衡:`Spring Cloud Loadbalancer` - 服务熔断&降级&限流:`Alibaba Sentinel` - 分布式事务:`Alibaba Seata` - 链路追踪:`Apache SkyWalking` - 消息队列:使用`Spring Cloud Stream`,兼容`Apache RocketMQ`(默认)、`RabittMQ`、`Apache Kafka` - 权限认证框架:`Sa-Token`+`JWT` - 代码生成器:`MyBatis-Plus-Generator` - 模板引擎:`Velocity` - 任务调度:`XXL-JOB` - 分布式锁:`Lock4j` - JSON序列化: `Jackson` & `Fastjson` - 缓存数据库:`Redis` - 校验框架:`Validation` - 分布式文件存储:兼容 `MinIO` 及多个云对象存储,如 `阿里云 OSS`、`华为云 OBS`、`七牛云 Kodo`、`腾讯云 COS`等 - 工具类框架:`Hutool`、`Lombok` - Api文档生成工具:`Knife4j` - 项目构建:`Maven` - 日志中心:`ELK` - 监控告警解决方案:`Prometheus`、`Grafana`、`Alertmanager` ## 二 环境要求 ### 2.1 开发环境 | 类目 | 版本或建议 | | --- | --- | | 电脑配置 | 建议开发电脑I3及以上CPU,内存32G及以上 | | 操作系统 | Windows 10/11,MacOS | | JDK | 建议使用 `1.8.0_281` 及以上版本,可使用 `Eclipse Temurin JDK 8`、`Alibaba Dragonwell 8`、`BiSheng JDK 8`等 | | Maven | 3.6.3及以上版本 | | Redis | 5.0.x+ | | 数据库 | 兼容 `MySQL 5.7.x/8.0.x`(默认)、`SQLServer 2012+`、`Oracle 11g`、`PostgreSQL 12+`、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)` | | 后端开发 | `IDEA2020` 及以上版本或 `Eclipse`、 `Spring Tool Suite` 等 | | 前端开发 | `Node.js v16.15.0`(某些情况下可能需要安装 Python3)及以上版本;
`Yarn v1.22.x` 版本;
`pnpm v8.10` 及以上版本;
浏览器推荐使用 `Chrome 90` 及以上版本;
`Visual Studio Code`(简称VSCode) | | 移动端开发 | `Node.js v12/v14/v16`(某些情况下可能需要安装 Python3);
`HBuilder X`(最新版) | | 文件存储 | 默认使用本地存储,兼容 `MinIO` 及多个云对象存储,如 `阿里云 OSS`、`华为云 OBS`、`七牛云 Kodo`、`腾讯云 COS`等 | | Nacos | v2.3.0, 服务注册&发现和配置中心 | | Seata | v2.0.0,分布式事务 | | Sentinel(可选) | v1.8.5, 服务熔断 | | Spring BootAdmin(可选) | 2.7.15,服务监控 | | SkyWalking APM(可选) | v9.2.0+, 链路追踪 | | SkyWalking Agent (可选) | v8.12.0+ | | 消息中间件 | 默认使用 `Apache RocketMQ`,也可以使用 `RabbitMQ` 或 `Apache Kafka` | | ELK(可选) | 日志中心 | | Prometheus(可选) | 分布式监控、告警 | | Alertmanager(可选) | | | Grafana(可选) | | ### 2.2 运行环境 > 适用于测试或生产环境 | 类目 | 版本或建议 | | --- | --- | | 服务器配置 | 最低配置要求:8c/32G/50G | | 操作系统 | 推荐使用 `Ubuntu 18.0.4` 及以上版本,兼容 `统信UOS`,`OpenEuler`,`麒麟服务器版` 等信创环境 | | JRE | 建议使用 `1.8.0_281` 及以上版本,如 `Eclipse Temurin JRE 8/11/17`、 `Alibaba Dragonwell 8/11/17` 、 `BiSheng JRE 8/11/17` | | Redis | 5.0.x+ | | 数据库 | 兼容 `MySQL 5.7.x/8.0.x`(默认)、`SQLServer 2012+`、 `Oracle 11g` 、 `PostgreSQL 12+` 、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)` | | 文件存储 | 默认使用本地存储,兼容 `MinIO` 及多个云对象存储,如 `阿里云 OSS`、`华为云 OBS`、`七牛云 Kodo`、`腾讯云 COS`等 | | Nginx | 前端Web服务器,建议使用 `1.18.0` 及以上版本 | | Nacos | v2.3.0, 服务注册&发现和配置中心 | | Seata(可选) | v2.0.0,分布式事务 | | Sentinel(可选) | v1.8.5, 服务熔断 | | Spring Boot Admin(可选) | 2.7.15,服务监控 | | SkyWalking APM(可选) | v9.2.0+, 链路追踪 | | SkyWalking Agent (可选) | v8.12.0 + | | 消息中间件 | 默认使用 `Apache RocketMQ`,也可以使用 `RabbitMQ` 或 `Apache Kafka` | | ELK(可选) | 日志中心 | | Prometheus(可选) | 分布式监控、告警 | | Alertmanager(可选) | | | Grafana(可选) | | ## 三 IDEA插件 - `Lombok`(必需) - `Alibaba Java Coding Guidelines` - `MybatisX` ## 四 Maven私服配置 > Apache Maven 3.6.3及以上版本
解决以下依赖无法从公共Maven仓库下载的问题 - com.dm:DmJdbcDriver18:1.8.0 - com.kingbase8:kingbase8-jdbc:2.0 - dingtalk-sdk-java:taobao-sdk-java-source:1.0 - dingtalk-sdk-java:taobao-sdk-java:1.0 打开Maven安装目录中的 `conf/settings.xml` 文件,
在 `` 中添加如下内容 ```xml maven-releases jnpf-user HLrQ0MA%S1nE maven-snapshots jnpf-user HLrQ0MA%S1nE ``` 在 `` 中添加 ```xml maven-snapshots * maven-snapshots https://repository.jnpfsoft.com/repository/maven-public/ ``` ## 五 配套项目 | 项目 | 分支 | 分支(Coding) | 说明 | | --- | --- | --- | --- | | **微服务中间件** | | | | | jnpf-registry | v3.6.x | v3.6.x-stable | 中间件项目 | | jnpf-nacos-plugin | 2.3.0-plugin | v2.3.0-plugin-stable | Nacos插件项目源码-适配MySQL、SQLServer、Oracle、PostgreSQL、达梦数据库(DM8)、人大金仓数据库 | | **后端** | | | | | jnpf-common | v3.7.x | v3.7.x-stable | java基础依赖项目源码 | | jnpf-file-core-starter | v3.7.x | v3.7.x-stable | 文件基础依赖项目源码 | | jnpf-scheduletask | v3.7.x | v3.7.x-stable | 任务调度客户端依赖及服务端项目源码 | | jnpf-datareport | v3.7.x | v3.7.x-stable | 报表后端项目源码 | | jnpf-java-tenant | v3.7.x | v3.7.x-stable | 多租户后端项目源码 | | jnpf-file-preview | v3.7.x | v3.7.x-stable | 本地文档预览项目源码 | | **前端** | | | | | jnpf-web | v3.7.x | v3.7.x-stable | 前端主项目源码(Vue2) | | jnpf-web-vue3 | v3.7.x | v3.7.x-stable | 前端主项目源码(Vue3) | | jnpf-web-datascreen | v3.7.x | v3.7.x-stable | 大屏前端项目源码(Vue2) | | jnpf-web-datascreen-vue3 | v3.7.x | v3.7.x-stable | 大屏前端项目源码(Vue3) | | jnpf-web-datareport | v3.7.x | v3.7.x-stable | 报表前端项目源码 | | jnpf-web-tenant | v3.7.x | v3.7.x-stable | 多租户前端项目源码(Vue2) | | jnpf-web-tenant-vue3 | v3.7.x | v3.7.x-stable | 多租户前端项目源码(Vue3) | | **移动端** | | | | | jnpf-app | v3.7.x | v3.7.x-stable | 移动端项目源码(Vue2) | | jnpf-app-vue3 | v3.7.x | v3.7.x-stable | 移动端项目源码(Vue3) | | **静态资源** | | | | | jnpf-resourecs | v3.7.x | v3.7.x-stable | 静态资源 | | **数据库** | | | | | jnpf-database | v3.7.x | v3.7.x-stable | 数据库脚本或文件 | ## 六 服务端口说明 > 在保证端口不冲突的情况下,可根据实际场景调整端口 | 服务名称 | 默认端口 | 描述 | | --- | --- | --- | | jnpf-gateway | 30000 | 服务网关 | | jnpf-oauth | 30001 | 认证服务 | | jnpf-system | 30002 | 系统基础服务 | | jnpf-visualdev | 30003 | 可视化开发(在线开发、代码生成、门户设计) | | jnpf-workflow | 30004 | 工作流 | | jnpf-file | 30005 | 文件服务 | | jnpf-message | 30008 | 消息中心 | | jnpf-scheduletask | 30009 | 任务调度(客户端) | | jnpf-permission | 30010 | 权限服务 | | jnpf-visualdata | 30011 | 数据大屏服务 | | jnpf-app | 30012 | 移动端服务 | | jnpf-form | 30013 | 流程表单设计服务 | | jnpf-extend | 30019 | 开发示例 | | jnpf-example | 30100 | 服务模板(参考示例) | ## 七 开发环境 ### 7.1 导入数据库脚本 > 以 MySQL数据库为例
字符集:utf8mb4
排序规则:utf8mb4_general_ci #### 7.1.1 创建Nacos配置库 在MySQL中创建 `jnpf_nacos` 数据库,并将 `jnpf-database/java微服务/jnpf_nacos_mysql.sql` 以【新建查询】方式导入
更多使用场景详见 `jnpf-registry/nacos-server/README.md` 文档说明 #### 7.1.2 创建平台数据库 在MySQL中创建 `jnpf_init` 数据库,并将 `jnpf-database/MySQL/jnpf_init.sql` 以【新建查询】方式导入。
若需要使用纯净数据库(不含Demo示例),则以【新建查询】方式导入 `jnpf_init_null.sql` 。 #### 7.1.3 创建系统调度数据库 在MySQL中创建 `jnpf_xxjob` 数据库,并将 `jnpf-database/MySQL/jnpf_xxjob_init.sql` 以【新建查询】方式导入。 #### 7.1.4 创建多租户数据库 > 可选操作,如有多租户需求 将 `jnpf-database/MySQL/JNPF-MySQL.sql` 存放在指定目录并登录 `Nacos`控制台修改 `tenant.yaml` 中的路径(详见`jnpf-registry/nacos-server/README.md` 文档说明),
在MySQL中创建 `jnpf_tenant` ,并将`jnpf-database/MySQL/jnpf_tenant_init.sql` 以【新建查询】方式导入。 ### 7.2 导入依赖 #### 7.2.1 基础依赖 详见 `jnpf-common` 项目中的 `README.md` 文档说明 #### 7.2.2 文件基础依赖 详见 `jnpf-file-starter` 项目中的 `README.md` 文档说明 #### 7.2.3 导入系统调度服务端 详见 `jnpf-scheduletask` 项目中的 `README.md` 文档说明 ### 7.3 项目配置 #### 7.3.1 jnpf-app ##### 7.3.1.1 端口配置 打开编辑 `/jnpf-app/jnpf-app-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30012 ``` ##### 7.3.1.2 服务配置 打开编辑 `/jnpf-app/jnpf-app-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace(第 22 行) #### 7.3.2 jnpf-extend > 此服务需要用到 Seata 中间件 ##### 7.3.2.1 端口配置 打开编辑 `/jnpf-extend/jnpf-extend-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30019 ``` ##### 7.3.2.2 服务配置 打开编辑 `/jnpf-extend/jnpf-extend-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 22 行) #### 7.3.3 jnpf-file ##### 7.3.3.1 端口配置 打开编辑 `/jnpf-file/jnpf-file-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30005 ``` ##### 7.3.3.2 服务配置 打开编辑 `/jnpf-file/jnpf-file-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 22 行) #### 7.3.4 jnpf-form ##### 7.3.4.1 端口配置 打开编辑 `/jnpf-form/jnpf-form-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30013 ``` ##### 7.3.4.2 服务配置 打开编辑 `/jnpf-form/jnpf-form-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 11 行) - Nacos密码:spring.cloud.nacos.password (第 12 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 15 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 16 行) #### 7.3.5 jnpf-gateway ##### 7.3.5.1 端口配置 打开编辑 `/jnpf-gateway/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30000 ``` ##### 7.3.5.2 服务配置 打开编辑 `/jnpf-gateway/src/main/resources/bootstrap-dev.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 5 行) - Nacos用户名:spring.cloud.nacos.username (第 11 行) - Nacos密码:spring.cloud.nacos.password (第 12 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 15 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 16 行) #### 7.3.6 jnpf-message > 此服务需要用到消息中间件,默认使用 Apache RocketMQ ##### 7.3.6.1 端口配置 打开编辑 `/jnpf-message/jnpf-message-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30008 ``` ##### 7.3.6.2 服务配置 打开编辑 `/jnpf-message/jnpf-message-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 22 行) - stream配置:spring.cloud.stream.rocketmq.binder.name-server (第 56 行) - stream配置(group):spring.cloud.stream.rocketmq.bindings.output.producer.group (第 59 行) #### 7.3.7 jnpf-oauth ##### 7.3.7.1 端口配置 打开编辑 `/jnpf-oauth/jnpf-oauth-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30001 ``` ##### 7.3.7.2 服务配置 打开编辑 `/jnpf-oauth/jnpf-oauth-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 5 行) - Nacos用户名:spring.cloud.nacos.username (第 18 行) - Nacos密码:spring.cloud.nacos.password (第 19 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 22 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 23 行) #### 7.3.8 jnpf-permission ##### 7.3.8.1 端口配置 打开编辑 `/jnpf-permission/jnpf-permission-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30010 ``` ##### 7.3.8.2 服务配置 打开编辑 `/jnpf-permission/jnpf-permission-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 22 行) #### 7.3.9 jnpf-scheduletask ##### 7.3.9.1 端口配置 打开编辑 `/jnpf-scheduletask/jnpf-scheduletask-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30009 ``` ##### 7.3.9.2 服务配置 打开编辑 `/jnpf-scheduletask/jnpf-scheduletask-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 15 行) - Nacos密码:spring.cloud.nacos.password (第 16 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 19 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 20 行) #### 7.3.10 jnpf-system ##### 7.3.10.1 端口配置 打开编辑 `/jnpf-system/jnpf-system-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30002 ``` ##### 7.3.10.2 服务配置 打开编辑 `/jnpf-system/jnpf-system-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 22 行) - Nacos密码:spring.cloud.nacos.password (第 23 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 26 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 27 行) #### 7.3.11 jnpf-visualdata ##### 7.3.11.1 端口配置 打开编辑 `/jnpf-visualdata/jnpf-visualdata-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30011 ``` ##### 7.3.11.2 服务配置 打开编辑 `/jnpf-visualdata/jnpf-visualdata-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 17 行) - Nacos密码:spring.cloud.nacos.password (第 18 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 21 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 22 行) #### 7.3.12 jnpf-visualdev ##### 7.3.12.1 端口配置 打开编辑 `/jnpf-visualdev/jnpf-visualdev-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30003 ``` ##### 7.3.12.2 服务配置 打开编辑 `/jnpf-visualdev/jnpf-visualdev-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 22 行) - Nacos密码:spring.cloud.nacos.password (第 23 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 26 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 27 行) #### 7.3.13 jnpf-workflow ##### 7.3.13.1 端口配置 打开编辑 `/jnpf-workflow/jnpf-workflow-server/src/main/resources/application.yml` ```yaml server: tomcat: uri-encoding: UTF-8 port: 30004 ``` ##### 7.3.13.2 服务配置 打开编辑 `/jnpf-workflow/jnpf-workflow-server/src/main/resources/bootstrap.yml`,主要涉及如下配置 - 应用名称:spring.application.name (第 4 行) - Nacos用户名:spring.cloud.nacos.username (第 11 行) - Nacos密码:spring.cloud.nacos.password (第 12 行) - Nacos地址:spring.cloud.nacos.discovery.server-addr (第 15 行) - Nacos命名空间:spring.cloud.nacos.discovery.namespace (第 16 行) ### 7.4 Nacos配置 详见 `jnpf-registry` 项目中 `/nacos-server/README.md` 文档说明 ## 八 项目启动 > 不区分先后顺序 ### 8.1 jnpf-app 启动类:`/jnpf-app/jnpf-app-server/src/main/java/jnpf/JnpfApplication` ### 8.2 jnpf-extend 启动类:`/jnpf-extend/jnpf-extend-server/src/main/java/jnpf/JnpfExtendApplication` ### 8.3 jnpf-file 启动类:`/jnpf-file/jnpf-file-server/src/main/java/jnpf/JnpfFileAplication` ### 8.4 jnpf-form 启动类:`/jnpf-form/jnpf-form-server/src/main/java/jnpf/JnpfFormApplication.java` ### 8.5 jnpf-gateway 启动类:`/jnpf-gateway/src/main/java/jnpf/JnpfGatewayApplication.java` ### 8.6 jnpf-message 启动类:`/jnpf-message/jnpf-message-server/src/main/java/jnpf/JnpfMessageApplication.java` ### 8.7 jnpf-oauth 启动类:`/jnpf-oauth/jnpf-oauth-server/src/main/java/jnpf/JnpfOauthApplication.java` ### 8.8 jnpf-permission 启动类:`/jnpf-permission/jnpf-permission-server/src/main/java/jnpf/JnpfPermissionApplication.java` ### 8.9 jnpf-scheduletask 启动类:`/jnpf-scheduletask/jnpf-scheduletask-server/src/main/java/jnpf/JnpfScheduleTaskApplication.java` ### 8.10 jnpf-system 启动类:`/jnpf-system/jnpf-system-server/src/main/java/jnpf/JnpfSystemApplication.java` ### 8.11 jnpf-visualdata 启动类:`/jnpf-visualdata/jnpf-visualdata-server/src/main/java/jnpf/JnpfVisualdataApplication.java` ### 8.12 jnpf-visualdev 启动类:`/jnpf-visualdev/jnpf-visualdev-server/src/main/java/jnpf/JnpfVisualdevApplication.java` ### 8.13 jnpf-workflow 启动类:`/jnpf-workflow/jnpf-workflow-server/src/main/java/jnpf/JnpfWorkflowApplication.java` ## 九 项目发布 > jar发布方式 - 在 `IDEA` 右侧 `Maven` > `jnpf-java-cloud` > `Lifecycle` 中双击 `clean` 清理下项目 - 双击 `package` 打包项目 - 完成打包后各个服务的包路径如下: - jnpf-app/jnpf-app-server/target/jnpf-app-3.6.0-RELEASE.jar - jnpf-extend/jnpf-extend-server/target/jnpf-extend-3.6.0-RELEASE.jar - jnpf-file/jnpf-file-server/target/jnpf-file-3.6.0-RELEASE.jar - jnpf-form/jnpf-form-server/target/jnpf-form-3.6.0-RELEASE.jar - jnpf-gateway/target/jnpf-gateway-3.6.0-RELEASE.jar - jnpf-message/jnpf-message-server/target/jnpf-message-3.6.0-RELEASE.jar - jnpf-oauth/jnpf-oauth-server/target/jnpf-oauth-3.6.0-RELEASE.jar - jnpf-permission/jnpf-permission-server/target/jnpf-permission-3.6.0-RELEASE.jar - jnpf-scheduletask/jnpf-scheduletask-server/target/jnpf-scheduletask-3.6.0-RELEASE.jar - jnpf-system/jnpf-system-server/target/jnpf-system-3.6.0-RELEASE.jar - jnpf-visualdata/jnpf-visualdata-server/target/jnpf-visualdata-3.6.0-RELEASE.jar - jnpf-visualdev/jnpf-visualdev-server/target/jnpf-visualdev-3.6.0-RELEASE.jar - jnpf-workflow/jnpf-workflow-server/target/jnpf-workflow-3.6.0-RELEASE.jar - 依次将得到的 `jar` 包上传至服务器部署 - 启动脚本(参考) ```bash nohup java -Dfile.encoding=utf-8 -jar jnpf-app-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-extend-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-file-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-form-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-gateway-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-message-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-oauth-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-permission-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-scheduletask-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-system-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-visualdata-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-visualdev-3.6.0-RELEASE.jar > /dev/null 2>&1 & nohup java -Dfile.encoding=utf-8 -jar jnpf-workflow-3.6.0-RELEASE.jar > /dev/null 2>&1 & ``` ## 十 接口文档 - `http://localhost:30000/doc.html`