编辑 | blame | 历史 | 原始文档

特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等安装或存放路径禁止包含中文、空格、特殊字符等

一 技术栈

  • 编辑语言:Java8/11Java17/21
  • 开发框架:Spring Cloud 2021/2023+ Spring Cloud Alibaba 2021/2023 + Spring Boot 2.7/3.2
  • 持久层框架:MyBatis-Plus
  • 数据库连接池:Alibaba Druid
  • 多数据源:Dynamic-Datasource
  • 数据库兼容: MySQLSQLServerOraclePostgreSQL达梦数据库人大金仓数据库
  • 分库分表解决方案:Apache ShardingSphere
  • 服务网关:Spring Cloud Gateway
  • 服务注册&发现和配置中心: Alibaba Nacos
  • 服务监控:Spring Boot Admin
  • 服务消费(调用):Spring Cloud OpenFeignApache Dubbo
  • 负载均衡:Spring Cloud Loadbalancer
  • 服务熔断&降级&限流:Alibaba Sentinel
  • 分布式事务:Apache Seata
  • 链路追踪:Apache SkyWalking
  • 消息队列:使用Spring Cloud Stream,兼容Apache RocketMQRabittMQApache Kafka
  • 权限认证框架:Sa-Token + JWT
  • 代码生成器:MyBatis-Plus-Generator
  • 流程引擎:Flowable 6.7
  • 模板引擎:Velocity
  • 任务调度:XXL-JOB
  • 分布式锁:Lock4j
  • JSON序列化: Jackson&Fastjson
  • 缓存数据库:Redis
  • 校验框架:Validation
  • 分布式文件存储:兼容 MinIO 及多个云对象存储,如阿里云 OSS华为云 OBS七牛云 Kodo腾讯云 COS等
  • 工具类框架:HutoolLombok
  • Api文档生成工具:Knife4j
  • 项目构建:Maven
  • 日志中心:ELK
  • 监控告警解决方案:PrometheusGrafanaAlertmanager

二 环境要求

2.1 开发环境

类目 版本或建议
电脑配置 开发电脑建议使用I3及以上CPU,32G及以上内存
操作系统 Windows 10/11,MacOS
JDK 默认使用JDK 21,如需要切换JDK 8/11/17版本请参考文档调整代码,推荐使用 OpenJDK,如 Liberica JDKEclipse TemurinAlibaba DragonwellBiSheng 等发行版;
Maven 依赖管理工具,推荐使用 3.6.3 及以上版本
Redis 数据缓存,推荐使用 5.0 及以上版本
数据库 兼容 MySQL 5.7.x/8.xSQLServer 2012+Oracle 11gPostgreSQL 12+达梦数据库(DM8)人大金仓数据库(KingbaseES_V8R6)
IDE 代码集成开发环境,推荐使用 IDEA2024 及以上版本,兼容 EclipseSpring Tool Suite 等IDE工具
文件存储 默认使用本地存储,兼容 MinIO 及多个云对象存储,如 阿里云 OSS华为云 OBS七牛云 Kodo腾讯云 COS 等;
Nacos v2.4.3, 服务注册&发现和配置中心
Seata v2.2.0,分布式事务
Sentinel(可选) v1.8.5, 服务熔断
Spring Boot Admin(可选) 2.7.16,服务监控
SkyWalking APM(可选) v10.x, 链路追踪
SkyWalking Agent (可选) v9.3.0
消息中间件 默认使用 Apache RocketMQ,兼容 RabittMQApache Kafka
ELK(适配) 日志中心
Prometheus(适配) 分布式监控、告警
Alertmanager(适配) 分布式监控、告警
Grafana(适配) 分布式监控、告警

2.2 运行环境

适用于测试或生产环境

类目 版本或建议
硬件 建议至少在 4C/32G/50G 的机器配置下运行;
操作系统 建议使用 Windows Server 2019 及以上版本或主流 Linux 发行版本,推荐使用 Linux 环境;兼容 统信UOSOpenEuler麒麟服务器版 等信创环境;
JRE 默认使用JRE 21,如需要切换JRE 8/11/17版本请参考文档调整代码;推荐使用 OpenJDK,如 Liberica JDKEclipse TemurinAlibaba DragonwellBiSheng 等发行版;
Redis 数据缓存,推荐使用 5.0 及以上版本
数据库 兼容 MySQL 5.7.x/8.xSQLServer 2012+Oracle 11gPostgreSQL 12+达梦数据库(DM8)人大金仓数据库(KingbaseES_V8R6)
文件存储 默认使用本地存储,兼容 MinIO 及多个云对象存储,如 阿里云 OSS华为云 OBS七牛云 Kodo腾讯云 COS 等;
Nacos v2.4.3, 服务注册&发现和配置中心
Seata(可选) v2.2.0,分布式事务
Sentinel(可选) v1.8.5, 服务熔断
Spring Boot Admin(可选) 2.7.16,服务监控
SkyWalking APM(可选) v10.x, 链路追踪
SkyWalking Agent (可选) v9.3.0
消息中间件 默认使用 Apache RocketMQ,兼容 RabittMQApache Kafka
ELK(适配) 日志中心
Prometheus(适配) 分布式监控、告警
Alertmanager(适配) 分布式监控、告警
Grafana(适配) 分布式监控、告警

三 IDEA插件

  • Lombok(必需)
  • Alibaba Java Coding Guidelines
  • MybatisX

四 Maven私服配置

建议使用 Apache Maven 3.6.3 及以上版本
以解决依赖无法从公共Maven仓库下载的问题
通过官方私服下载依赖完成后,由于IDEA的缓存可能会出现部分报红,重启IDEA即可

打开Maven安装目录中的 conf/settings.xml 文件,

<servers></servers> 中添加如下内容

<server>
  <id>maven-releases</id>
  <username>jnpf-user</username>
  <password>HLrQ0MA%S1nE</password>
</server>
<server>
  <id>maven-snapshots</id>
  <username>jnpf-user</username>
  <password>HLrQ0MA%S1nE</password>
</server>

<mirrors></mirrors> 中添加

<mirror>
  <id>maven-snapshots</id>
  <mirrorOf>*</mirrorOf>
  <name>maven-snapshots</name>
  <url>https://repository.jnpfsoft.com/repository/maven-public/</url>
</mirror>

五 配套项目

5.1 微服务中间件

项目 分支 说明
jnpf-registry v5.2.x-stable 中间件项目
jnpf-nacos-plugin v2.4.1-plugin-stable Nacos插件项目源码-适配MySQL、SQLServer、Oracle、PostgreSQL、达梦数据库(DM8)、人大金仓数据库

5.2 后端项目

项目 分支 说明
jnpf-common v6.0.x-stable Java基础依赖项目源码
jnpf-datareport v6.0.x-stable 报表后端项目源码
jnpf-file-core-starter v6.0.x-stable 文件基础依赖项目源码
jnpf-file-preview v6.0.x-stable 本地文档预览项目源码
jnpf-java-datareport-univer v6.0.x-stable Java Univer报表源码
jnpf-java-datareport-univer-core v6.0.x-stable Java Univer报表核心依赖源码,不同销售版本交付有所差异,以实际交付为准
jnpf-java-tenant v6.0.x-stable 多租户后端项目源码,不同销售版本交付有所差异,以实际交付为准
jnpf-scheduletask v6.0.x-stable 任务调度客户端依赖及服务端项目源码
jnpf-workflow v1.0.0-stable 流程引擎后端项目
jnpf-workflow-core v1.0.0-stable Flowable流程引擎基础依赖,不同销售版本交付有所差异,以实际交付为准

5.3 前端项目

项目 分支 说明
jnpf-web-datareport v6.0.x-stable 报表前端项目源码
jnpf-web-datascreen-vue3 v6.0.x-stable 前端大屏项目源码(Vue3)
jnpf-web-tenant-vue3 v6.0.x-stable 多租户前端项目源码(Vue3),不同销售版本交付有所差异,以实际交付为准
jnpf-web-monorepo v6.0.x-stable 前端主项目源码(Vue3),不同销售版本交付有所差异,以实际交付为准
jnpf-web-monorepo-bpmn v6.0.x-stable 前端主项目源码(Vue3),不含流程设计器、不含Univer报表设计器前端源代码,不同销售版本交付有所差异,以实际交付为准
jnpf-bpmn v1.0.x-stable 前端流程设计器源代码,不同销售版本交付有所差异,以实际交付为准
jnpf-univer v1.0.x-stable 前端Univer报表设计器源代码,不同销售版本交付有所差异,以实际交付为准

5.4 移动端

项目 分支 说明
jnpf-app-vue3 v6.0.x-stable 移动端项目源码(Vue3)

5.5 静态资源

项目 分支 说明
jnpf-resources v6.0.x-stable 静态资源

5.6 数据库

项目 分支 说明
jnpf-database v6.0.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-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_db_init.sql 导入。

若需要使用纯净数据库(不含Demo示例),则以【新建查询】方式导入 jnpf_dbnull_init.sql
若有更新脚本(Update目录下),按日期顺序执行更新

7.1.3 创建系统调度数据库

在MySQL中创建 jnpf_xxjob 数据库,并将 jnpf-database/MySQL/jnpf_xxjob_init.sql 导入。

7.1.4 创建流程引擎数据库

在MySQL中创建 jnpf_flow 数据库,并将 jnpf-database/MySQL/jnpf_flow_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-datareport 报表后端项目

详见 jnpf-datareport 项目中的 README.md 文档说明

7.3.2 jnpf-java-datareport-univer Java Univer报表后端项目

详见 jnpf-java-datareport-univer 项目中的 README.md 文档说明

7.3.3 jnpf-workflow 工作流引擎后端项目

详见 jnpf-workflow 项目中的 README.md 文档说明

7.3.4 jnpf-java-tenant 多租户后端项目

可选,如有多租户需求

详见 jnpf-java-tenant 项目中的 README.md 文档说明

7.4 项目配置

7.4.1 jnpf-app

7.4.1.1 端口配置

打开编辑 /jnpf-app/jnpf-app-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30012
7.4.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.4.2 jnpf-extend

此服务需要用到 Seata 中间件

7.4.2.1 端口配置

打开编辑 /jnpf-extend/jnpf-extend-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30019
7.4.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.4.3 jnpf-file

7.4.3.1 端口配置

打开编辑 /jnpf-file/jnpf-file-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30005
7.4.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.4.4 jnpf-workflow

7.4.4.1 端口配置

打开编辑 /jnpf-flowable/jnpf-flowable-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30004
7.4.4.2 服务配置

打开编辑 /jnpf-flowable/jnpf-flowable-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.5 jnpf-gateway

7.4.5.1 端口配置

打开编辑 /jnpf-gateway/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30000
7.4.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.4.6 jnpf-message

此服务需要用到消息中间件,默认使用 Apache RocketMQ,登录Nacos控制台修改 mq.yaml 配置

7.4.6.1 端口配置

打开编辑 /jnpf-message/jnpf-message-server/src/main/resources/application.yml
yaml server: tomcat: uri-encoding: UTF-8 port: 30008

7.4.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.4.7 jnpf-oauth

7.4.7.1 端口配置

打开编辑 /jnpf-oauth/jnpf-oauth-server/src/main/resources/application.yml
yaml server: tomcat: uri-encoding: UTF-8 port: 30001

7.4.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.4.8 jnpf-permission

7.4.8.1 端口配置

打开编辑 /jnpf-permission/jnpf-permission-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30010
7.4.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.4.9 jnpf-scheduletask

7.4.9.1 端口配置

打开编辑 /jnpf-scheduletask/jnpf-scheduletask-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30009
7.4.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.4.10 jnpf-system

7.4.10.1 端口配置

打开编辑 /jnpf-system/jnpf-system-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30002
7.4.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.4.11 jnpf-visualdata

7.4.11.1 端口配置

打开编辑 /jnpf-visualdata/jnpf-visualdata-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30011
7.4.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.4.12 jnpf-visualdev

7.4.12.1 端口配置

打开编辑 /jnpf-visualdev/jnpf-visualdev-server/src/main/resources/application.yml

server:
  tomcat:
    uri-encoding: UTF-8
  port: 30003
7.4.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.5 Nacos配置

详见 jnpf-registry 项目中 /nacos-server/README.md 文档说明

八 项目启动

8.1 注意事项

若使用JDK9及以上版本,所有服务启动需要添加如下VM启动参数(不区分先后顺序)

--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.math=ALL-UNNAMED
--add-opens=java.base/sun.net.util=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/jdk.internal.module=ALL-UNNAMED
--add-opens=java.base/sun.security.util=ALL-UNNAMED

8.2 jnpf-app

启动类:/jnpf-app/jnpf-app-server/src/main/java/jnpf/JnpfApplication

8.3 jnpf-extend

启动类:/jnpf-extend/jnpf-extend-server/src/main/java/jnpf/JnpfExtendApplication

8.4 jnpf-file

启动类:/jnpf-file/jnpf-file-server/src/main/java/jnpf/JnpfFileAplication

8.5 jnpf-workflow

启动类:/jnpf-flowable/jnpf-flowable-server/src/main/java/jnpf/JnpfFlowableApplication.java

8.6 jnpf-gateway

启动类:/jnpf-gateway/src/main/java/jnpf/JnpfGatewayApplication.java

8.7 jnpf-message

启动类:/jnpf-message/jnpf-message-server/src/main/java/jnpf/JnpfMessageApplication.java

8.8 jnpf-oauth

启动类:/jnpf-oauth/jnpf-oauth-server/src/main/java/jnpf/JnpfOauthApplication.java

8.9 jnpf-permission

启动类:/jnpf-permission/jnpf-permission-server/src/main/java/jnpf/JnpfPermissionApplication.java

8.10 jnpf-scheduletask

启动类:/jnpf-scheduletask/jnpf-scheduletask-server/src/main/java/jnpf/JnpfScheduleTaskApplication.java

8.11 jnpf-system

启动类:/jnpf-system/jnpf-system-server/src/main/java/jnpf/JnpfSystemApplication.java

8.12 jnpf-visualdata

启动类:/jnpf-visualdata/jnpf-visualdata-server/src/main/java/jnpf/JnpfVisualdataApplication.java

8.13 jnpf-visualdev

启动类:/jnpf-visualdev/jnpf-visualdev-server/src/main/java/jnpf/JnpfVisualdevApplication.java

九 项目发布

jar发布方式

  • IDEA 右侧 Maven > jnpf-java-cloud > Lifecycle 中双击 clean 清理下项目
  • 双击 package 打包项目
  • 完成打包后各个服务的包路径如下:
  • jnpf-app/jnpf-app-server/target/jnpf-app-6.0.0-RELEASE.jar
  • jnpf-extend/jnpf-extend-server/target/jnpf-extend-6.0.0-RELEASE.jar
  • jnpf-file/jnpf-file-server/target/jnpf-file-6.0.0-RELEASE.jar
  • jnpf-flowable/jnpf-flowable-server/target/jnpf-flowable-6.0.0-RELEASE.jar
  • jnpf-gateway/target/jnpf-gateway-6.0.0-RELEASE.jar
  • jnpf-message/jnpf-message-server/target/jnpf-message-6.0.0-RELEASE.jar
  • jnpf-oauth/jnpf-oauth-server/target/jnpf-oauth-6.0.0-RELEASE.jar
  • jnpf-permission/jnpf-permission-server/target/jnpf-permission-6.0.0-RELEASE.jar
  • jnpf-scheduletask/jnpf-scheduletask-server/target/jnpf-scheduletask-6.0.0-RELEASE.jar
  • jnpf-system/jnpf-system-server/target/jnpf-system-6.0.0-RELEASE.jar
  • jnpf-visualdata/jnpf-visualdata-server/target/jnpf-visualdata-6.0.0-RELEASE.jar
  • jnpf-visualdev/jnpf-visualdev-server/target/jnpf-visualdev-6.0.0-RELEASE.jar
  • 依次将得到的 jar 包上传至服务器部署
  • 启动脚本(参考)

若使用 JDK/JRE 9及以上版本运行,需要在启动脚本中增加参数:--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.module=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED

jnpf-app 以例

若使用 JDK/JRE 8 运行

java -Xms300m -Xmx300m -Dfile.encoding=utf-8 -jar jnpf-app-6.0.0-RELEASE.jar -> log.log

若使用 JDK/JRE 9及以上版本运行

java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/sun.net.util=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/jdk.internal.module=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED -Xms300m -Xmx300m -Dfile.encoding=utf-8 -jar jnpf-app-6.0.0-RELEASE.jar -> log.log

十 接口文档

  • http://localhost:30000/doc.html