同步操作将从 刘子谦/jnpf-java-single 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
特别说明:源码、JDK、MySQL、Redis、Nacos、Seata、Sentinel等存放路径禁止包含中文、空格、特殊字符等
Spring Cloud Alibaba
+ Spring Boot
+ Spring Framework
Mybatis-plus
Jackson
&Fastjson
Redis
MySQL 5.7.x+
、SQLServer 2012+
、Oracle 11g+
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
spring-boot-starter-aop
特别说明: 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及以上版本 |
Lombok
Alibaba Java Coding Guidelines
MybatisX
通过官方私服下载依赖完成后,由于IDEA的缓存可能会出现部分报红,重启IDEA即可
1、打开maven
下conf/settings.xml
文件
2、 在<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>
3、在<mirrors></mirrors>
中添加
<mirror>
<id>maven-snapshots</id>
<mirrorOf>*</mirrorOf>
<name>maven-snapshots</name>
<url>https://repository.jnpfsoft.com/repository/maven-public/</url>
</mirror>
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
(项目配置库)Nacos
配置jnpf-registry/nacos/conf/application.properties
第39-41行
)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内存配置(根据实际情况调整))
-Xmx1500m
-Xms1500m
-Xmn1180m
-Xss1024k
2、skywalking-agent
路径(绝对路径)
-javaagent:D:\Code\jnpf-java-cloud\jnpf-registry\skywalking\agent\skywalking-agent.jar
3、服务名
-Dskywalking.agent.service_name=jnpf-extend
4、gRPCPort
端口,默认端口11800
,
-Dskywalking.collector.backend_service=localhost:11800
其他服务类似操作,具体配置参考如下:
开发环境配置
jnpf-gateway
网关
-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
认证服务
-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
系统基础服务
-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
可视化开发
-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
工作流
-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
文件服务
-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
租户服务
-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
报表服务
-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
消息中心
-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
任务调度
-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
权限服务
-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
大屏服务
-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
大屏服务
-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
扩展服务
-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
网关
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
认证服务
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
系统基础服务
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
可视化开发
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
工作流
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
文件服务
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
租户服务
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
报表服务
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
消息中心
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
任务调度
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
权限服务
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
大屏服务
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
移动端
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
扩展
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
(静态资源配置)启动项 | 参考配置 | 描述 |
---|---|---|
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
,如
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
http://localhost:30099/nacos/index.html
nacos
/nacos
Sentinel
1.8.2
http://localhost:30098
sentinel
/sentinel
Spring Boot Admin(可选)
2.3.0
http://localhost:30097
admin
/admin
Skywalking(可选)
8.3.0
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/
.sh
启动提示$’\r’: 未找到命令的解决
等问题在服务器上安装
yum install dos2unix
然后通过执行dos2unix **.sh
进行转换
seata
的问题修改seata
启动脚本startup.sh
,加上seata
所在服务器的IP
nohup ./seata-server.sh -p 30095 -h 192.168.0.26 > Log.log & 2>&1 &
报错log如下
[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
:
再次启动,还会报另外一个错,就是找不到日志文件,手动创建下日志文件:
touch seata_gc.log
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。