# jnpf-java-single
**Repository Path**: MiKeNetProject/jnpf-java-single
## Basic Information
- **Project Name**: jnpf-java-single
- **Description**: jnpf单体项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 41
- **Created**: 2023-12-14
- **Last Updated**: 2023-12-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
> 特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等存放路径禁止包含中文、空格、特殊字符等
# 技术栈
- 主框架:`Spring Cloud Alibaba` + `Spring Boot` + `Spring Framework`
- 持久层框架:`Mybatis-plus`
- JSON序列化: `Jackson`&`Fastjson`
- 缓存:`Redis`
- 数据库: `MySQL 5.7.x+`、`SQLServer 2012+`、`Oracle 11g+`
- API网关:`spring-cloud-geteway`
- 服务注册&发现和配置中心: `Nacos`
- 服务监控:`Spring Boot Admin`
- 服务消费:`OpenFeign`/`Dubbo RPC`
- 负载均衡:`Ribbon`
- 服务熔断:`Sentinel`
- 项目构建:`Maven`
- 分布式事务:`Seata`
- 消息队列:`RocketMQ`
- 安全框架:`spring-cloud-security-oauth2`+`jwt`
- 链路追踪:`Skywalking`
- 模板引擎:`Velocity`
- 即时通讯:`spring-boot-starter-websocket`
- AOP:`spring-boot-starter-aop`
# 推荐硬件配置
- 开发环境:I5 CPU+16G内存
- 测试生产环境: 8核32G(最低要求)
# 环境要求
> 特别说明: JDK版本不低于 `jdk-8u281-x`版本
> JDK历史版本:`https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html`
> 【配置库】仅支持MySQL,【业务库】支持MySQL、SQLServer、Oracle
软件 | 推荐版本 | 说明
-----|-------- | -------------
JDK | 1.8.281 | JAVA环境依赖(需配置环境变量)
Maven | 3.6.3 | 项目构建(需配置环境变量)
Redis | 3.2.100(Windows)/6.0.x(Linux、Mac) |
MySQL | 5.7.x | 默认数据库
SQLServer | 2012 |
Oracle | 11g |
# 工具推荐
IDEA版本 | Maven版本
-----|-------- |
IDEA2020及以上版本 | Maven 3.6.3及以上版本 |
# IDEA插件
- `Lombok`
- `Alibaba Java Coding Guidelines`
- `MybatisX`
# Maven私服配置(如有需要)
> 通过官方私服下载依赖完成后,由于IDEA的缓存可能会出现部分报红,重启IDEA即可
1、打开`maven`下`conf/settings.xml`文件
2、 在``中添加
``` xml
maven-releases
jnpf-user
HLrQ0MA%S1nE
maven-snapshots
jnpf-user
HLrQ0MA%S1nE
```
3、在``中添加
```xml
maven-snapshots
*
maven-snapshots
https://repository.jnpfsoft.com/repository/maven-public/
```
4、在idea中上传jar包到maven私服:
settings.xml文件使用setting-jnpf.xml
在idea的右侧maven中点击lifecycle中的deploy即可
# 服务说明
服务名称 | 默认端口 | 描述
-----|-------- | -------------
nacos | 30099 | 服务注册、发现和配置中心
sentinel-server | 30098 | 流量控制、熔断降级、系统负载保护
seata-server | 30095 | 分布式事务
spring-boot-admin | 30097 | 管理和监控SpringBoot应用
skywalking | 30096 | 链路追踪监控
jnpf-gateway | 30000 | 网关
jnpf-oauth | 30001 | 认证服务
jnpf-system | 30002 | 系统基础服务
jnpf-visualdev | 30003 | 可视化开发(在线开发、代码生成、门户设计)
jnpf-workflow | 30004 | 工作流
jnpf-file | 30005 | 文件服务(上传、下载、预览,文档编辑、预览等)
jnpf-tenant | 30006 | 多租户服务
jnpf-datareport | 30007 | 报表服务
jnpf-message | 30008 | 消息中心
jnpf-scheduletask | 30009 | 任务调度
jnpf-permission | 30010 | 权限服务
jnpf-visualdata | 30011 | 数据大屏服务
jnpf-jnpf.zsyc | 30012 | 移动端服务
jnpf-extend | 30019 | 扩展(系统内置示例)
jnpf-example | 30100 | 子系统开发模板
# 使用说明
## 创建库并导入数据库脚本
> MySQL编码为`utf8mb4`
> 在使用Navicat等工具时,`运行SQL脚本`执行`jnpf_init.sql`可能会报错(初始数据含有JSON数据),建议使用`新建查询`执行初始化脚本
- `jnpf-databae/MySQL/${version}/jnpf_init.sql`(项目业务库)
- `jnpf-databae/java微服务/${version}/jnpf_nacos.sql`(项目配置库)
- 数据库地址:192.168.3.72:3306/ls
- 用户名:root
- 密码:ls@888
## 服务组件配置
### `Nacos`配置
- 打开`jnpf-registry/nacos/conf/application.properties`
- 修改数据库配置【配置库】(`第39-41行`)
- 启动nacos:sh startup.sh -m standalone
- 关闭nacos:sh shutdown.sh
- 地址:127.0.0.1:30099
### `Seata`配置
- 打开`jnpf-registry/seata/conf/file.conf`,修改数据源配置【配置库】(`第27行开始`)
- 打开数据库仓库的`jnpf-databae/java微服务/jnpf_seata_config.sql`修改`seata`配置SQL脚本,并在`jnpf_nacos`(项目配置库)中执行脚本
### `Sentinel`配置
- 右击`jnpf-registry/sentinel-server/pom.xml` 选择`Add as Maven Project`
- 打开`sentinel-server/src/main/resoures/application.properties`,修改配置`nacos`服务地址(`第29行`)(nacos为本地地址时无需修改)
### `Skywalking`配置
#### 基本配置
- 打开`skywalking/config/application.yml` ,修改下数据源配置(`第164-166行`)
- 创建`skywalking`初始表(脚本自动创建)
- 运行`skywalking/bin/oapServiceInit.bat`(windows环境)
- 运行`skywalking/bin/oapServiceInit.sh`(Linux、Mac环境)
#### 集成到项目中
> 配置中包含JVM配置
- 配置说明
1、JVM内存配置(根据实际情况调整))
```bash
-Xmx1500m
-Xms1500m
-Xmn1180m
-Xss1024k
```
2、`skywalking-agent`路径(绝对路径)
```bash
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
```
3、服务名
```bash
-Dskywalking.agent.service_name=jnpf-extend
```
4、`gRPCPort`端口,默认端口`11800`,
```bash
-Dskywalking.collector.backend_service=localhost:11800
```
其他服务类似操作,具体配置参考如下:
- 开发环境配置
- `jnpf-gateway`网关
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-gateway
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-oauth`认证服务
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-oauth
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-system`系统基础服务
```bash
-Xmx400m
-Xms400m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-system
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-visualdev`可视化开发
```bash
-Xmx800m
-Xms800m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-visualdev
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-workflow`工作流
```bash
-Xmx800m
-Xms800m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-jnpf-workflow
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-file`文件服务
```bash
-Xmx300m
-Xms300m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-file
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-tenant`租户服务
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-tenant
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-datareport`报表服务
```bash
-Xmx500m
-Xms500m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-datareport
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-message`消息中心
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-message
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-scheduletask`任务调度
```bash
-Xmx1000m
-Xms1000m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-scheduletask
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-permission`权限服务
```bash
-Xmx400m
-Xms400m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-permission
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-visualdata`大屏服务
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-visualdata
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-jnpf.zsyc`大屏服务
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-jnpf.zsyc
-Dskywalking.collector.backend_service=localhost:11800
```
- `jnpf-extend`扩展服务
```bash
-Xmx200m
-Xms200m
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=jnpf-extend
-Dskywalking.collector.backend_service=localhost:11800
```
- 测试生产环境配置(参考配置,具体按实际使用情况调整)
测试生产环境中,在服务启动命令中添加
- `jnpf-gateway`网关
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-gateway -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-gateway-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-oauth`认证服务
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-oauth -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-oauth-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-system`系统基础服务
```bash
nohup java -Xmx400m -Xms400m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-system -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-system-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-visualdev`可视化开发
```bash
nohup java -Xmx800m -Xms800m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-visualdev -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-visualdev-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-workflow`工作流
```bash
nohup java -Xmx800m -Xms800m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-workflow -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-workflow-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-file`文件服务
```bash
nohup java -Xmx300m -Xms300m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-file -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-file-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-tenant`租户服务
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-tenant -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-tenant-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-datareport`报表服务
```bash
nohup java -Xmx500m -Xms500m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-datareport -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-datareport-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-message`消息中心
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-message -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-message-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-scheduletask`任务调度
```bash
nohup java -Xmx1000m -Xms1000m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-scheduletask -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-scheduletask-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-permission`权限服务
```bash
nohup java -Xmx500m -Xms500m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-permission -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-permission-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-visualdata`大屏服务
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-visualdata-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-jnpf.zsyc`移动端
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-jnpf.zsyc-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
- `jnpf-extend`扩展
```bash
nohup java -Xmx200m -Xms200m -javaagent:/www/wwwroot/jnpf-registry/skywalking-server/agent/skywalking-agent.jar -Dskywalking.agent.service_name=jnpf-extend -Dskywalking.collector.backend_service=localhost:11800 -jar jnpf-extend-3.2.9-RELEASE.jar >Log.log 2>&1 &
```
### 其他子系统配置
> 这里的数据库为【业务库】数据库
- 启动`nacos`,打开`配置管理`-`配置列表`- `dev`,修改`datasource.yaml`(Redis,数据库配置)和`resources.yaml`(静态资源配置)
### JVM配置参考(根据实际情况调整)
启动项 | 参考配置| 描述
-----|--------|--------
JnpfApplication | -Xmx200m -Xms200m | 移动端
JnpfDataReportApplication | -Xmx500m -Xms500m | 报表服务
JnpfExtendApplication | -Xmx200m -Xms200m | 扩展服务
JnpfFileAplication | -Xmx300m -Xms300m | 文件服务
JnpfGatewayApplication | -Xmx200m -Xms200m | 网关
JnpfMessageApplication | -Xmx200m -Xms200m | 消息中心
JnpfOauthApplication | -Xmx200m -Xms200m | 认证中心
JnpfPermissionApplication | -Xmx400m -Xms400m | 权限管理
JnpfScheduletaskApplication | -Xmx1000m -Xms1000m | 系统调度
JnpfSystemApplication | -Xmx400m -Xms400m | 系统服务
JnpfTenantApplication | -Xmx200m -Xms200m | 多租户
JnpfVisualdataApplication | -Xmx200m -Xms200m | 大屏服务
JnpfVisualdevApplication | -Xmx800m -Xms800m | 可视化开发
JnpfWorkflowApplication | -Xmx800m -Xms800m | 工作流
#### 开发环境配置
在`Run/Debug Configurations`界面按上述表格配置
#### 测试生产环境配置
在启动命令加上配置`-Xmx500m -Xms500m -Xmn180m -Xss1024k`,如
```bash
nohup java -jar -Xmx500m -Xms500m jnpf-system-3.2.9-RELEASE.jar > Log.log & 2>&1 &
```
### 项目启动
> 建议按照如下顺序进行启动,注意`naocs`服务管理列表(`public`),确保每个服务都正常
#### `nacos-server`服务(优先启动等级1)
- 运行`jnpf-registry/nacos-server/bin/startup.cmd`(windows环境)
- 运行`jnpf-registry/nacos-server/bin/startup.sh`(Linux、Mac环境)
- 打开`http://localhost:30099/nacos/index.html`,默认账号密码为`nacos`
#### `sentinel-server`服务(优先启动等级2)
- 运行`jnpf-registry/sentinel-server/src/main/java/com/alibaba/csp/sentinel/dashboard/DashboardApplication.java`启动类
#### `seata-server`服务(优先启动等级2)
- 运行`jnpf-registry/seata-server/bin/startup.bat`(windows环境)
- 运行`jnpf-registry/seata-server/bin/startup.sh`(Linux、Mac环境)
#### `skywalking`服务(可选)
- 运行`skywalking/bin/startup.bat`(windows环境)
- 运行`skywalking/bin/startup.sh`(Linux、Mac环境)
#### `spring-boot-admin`管理和监控SpringBoot应用(可选)
- 运行`jnpf-registry/boot-admin/src/main/java/jnpf/JnpfAdminApplication.java`启动类
#### 其他服务(不分先后顺序)
- `jnpf-jnpf.zsyc`服务(移动端):运行`/jnpf-jnpf.zsyc/jnpf-jnpf.zsyc-server/src/main/java/jnpf/JnpfApplication`启动类
- `jnpf-datareport`服务(报表): 运行`jnpf-report/jnpf-datareport/report-console/src/main/java/com/bstek/ureport/console/JnpfDataReportApplication`启动类
- `jnpf-extend`服务(扩展): 运行`jnpf-extend/jnpf-extend-server/src/main/java/jnpf/JnpfExtendApplication`启动类
- `jnpf-file`服务(文件):运行`jnpf-file/jnpf-file-server/src/main/java/jnpf/JnpfFileAplication`启动类
- `jnpf-gateway`服务(网关):运行`/jnpf-gateway/src/main/java/jnpf/system/base/JnpfGatewayApplication`启动类
- `jnpf-message`服务(消息中心):运行`jnpf-message/jnpf-message-server/src/main/java/jnpf/JnpfMessageApplication`启动类
- `jnpf-oauth`服务(认证中心):运行`jnpf-oauth/jnpf-oauth-server/src/main/java/jnpf/JnpfOauthApplication`启动类
- `jnpf-permission`服务(权限管理):运行`jnpf-permission/jnpf-permission-server/src/main/java/jnpf/JnpfPermissionApplication`启动类
- `jnpf-scheduletask`服务(系统调度):运行`jnpf-scheduletask/jnpf-scheduletask-server/src/main/java/jnpf/JnpfScheduletaskApplication`启动类
- `jnpf-system`服务(系统):运行`jnpf-system/jnpf-system-server/src/main/java/jnpf/JnpfSystemApplication`启动类
- `jnpf-tenant`服务(多租户): 运行`jnpf-tenant/jnpf-tenant-server/src/main/java/jnpf/JnpfTenantApplication`启动类
- `jnpf-visualdata`服务(大屏):运行`jnpf-visualdata/jnpf-visualdata-server/src/main/java/jnpf/JnpfVisualdataApplication`启动类
- `jnpf-visualdev`服务(可视化开发):运行`jnpf-visualdev/jnpf-visualdev-server/src/main/java/jnpf/JnpfVisualdevApplication`启动类
- `jnpf-workflow`服务(工作流): 运行`jnpf-workflow/jnpf-workflow-server/src/main/java/jnpf/JnpfWorkflowApplication`启动类
### 服务中间件
- Nacos
- 版本:`2.0.0`
- 控制台URL: `http://localhost:30099/nacos/index.html`
- 用户密码:`nacos`/`nacos`
- Sentinel
- 版本:`1.8.2`
- 控制台URL: `http://localhost:30098`
- 用户密码:`sentinel`/`sentinel`
- Spring Boot Admin(可选)
- 版本:`2.3.0`
- 控制台URL: `http://localhost:30097`
- 用户密码:`admin`/`admin`
- Skywalking(可选)
- 版本:`8.3.0`
- 控制台URL: `http://localhost:30096`
- Swagger接口
- 版本:`3.0.0`
- 全局接口(网关):`http://localhost:30000/swagger-ui/`
- 认证服务:`http://localhost:30001/swagger-ui/`
- 系统服务:`http://localhost:30002/swagger-ui/`
- 可视化开发:`http://localhost:30003/swagger-ui/`
- 工作流:`http://localhost:30004/swagger-ui/`
- 文件服务:`http://localhost:30005/swagger-ui/`
- 多租户服务:`http://localhost:30006/swagger-ui/`
- 消息中心:`http://localhost:30008/swagger-ui/`
- 系统调度:`http://localhost:30009/swagger-ui/`
- 权限服务:`http://localhost:30010/swagger-ui/`
- 大屏服务:`http://localhost:30011/swagger-ui/`
- 移动端:`http://localhost:30012/swagger-ui/`
- 扩展服务:`http://localhost:30019/swagger-ui/`
### 常见问题
#### Linux下运行`.sh`启动提示`$’\r’: 未找到命令的解决`等问题
在服务器上安装
```shell
yum install dos2unix
```
然后通过执行`dos2unix **.sh`进行转换
#### 某些情况下服务无法连接到`seata`的问题
修改`seata`启动脚本`startup.sh`,加上`seata`所在服务器的IP
```shell
nohup ./seata-server.sh -p 30095 -h 192.168.0.26 > Log.log & 2>&1 &
```
### Seata报-Xloggc is deprecated错误的解决方法
报错log如下
```sh
[0.001s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log instead.
[0.001s][error ][logging] Error opening log file '/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log': No such file or directory
[0.001s][error ][logging] Initialization of output 'file=/www/wwwroot/jnpf-registry/seata-server/logs/seata_gc.log' using options '(null)' failed.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
```
从这个报错中,可以看出启动参数-Xloggc过时了,提示我们用-Xlog:gc:,原因其实也不难猜测,因为用的是JDK11,所以参数发生了变化。
我们修改下`seata-server.sh`,将`-Xloggc`改为`-Xlog:gc`:
再次启动,还会报另外一个错,就是找不到日志文件,手动创建下日志文件:
```sh
touch seata_gc.log
```