Nacos源码下载与运行

早先在linux环境下搭建过nacos环境 即Centos安装部署nacos实战,本次是从官网上下载源码,本地运行看看,记录过程,方便备查。

第一步、Nacos源码下载

推荐到nacos官网下载 Github地址,本次选择最新版,1.4.7版本,可下载 Source code 源码,解压即可,如下图所示。

解压后的目标结构如下所示,关注 config 和 console 两个文件夹。

第二步、编译项目

源码是maven项目,可先编译后运行,在解压目录下 直接 cmd 进入黑窗口编辑页面,执行以下编译命令。

powershell 复制代码
mvn clean package -Dmaven.test.skip=test -Dcheckstyle.skip=true

Dmaven.test.skip=test 不执行测试用例,不编译测试用例类

Checkstyle 是一种检查 Java 源代码是否遵守代码标准或验证规则集的工具。
Dcheckstyle.skip=true 即跳过检查

编译成功如下图所示。

为方便运行和调试,可将项目导入到IDEA编译器中,目录结果如下图所示。

第三步、建立数据库连接

为保证nacos正常启动,其用到的事MySQL数据库,可新建名为 nacos的数据库,修改 console下application.properties中数据库连接,修改为本地连接,如下图所示。

注意:要把数据库类型和数据库数量 两个配置放开,新建的配置才能正确入库。

spring.datasource.platform=mysql

db.num=1

config 下 ==nacos-db.sql ==数据表到 nacos 数据库执行,文件位置如下图所示。

用IDEA自带的数据库工具,可查看新建成功的表,如下图所示。

第四步、配置单机群启动

打开console 下主程序 Nacos.java文件。

配置启动方式,在 Run Configurations 页面配置启动参数,Application 下新建 nacos,具体配置可参考下图。

==-Dnacos.standalone=true ==表示单集群启动

点击运行,在控制台出现 nacos标识,如下所示,表示Tomcat启动成功。

第五步、启动运行

浏览器访问 http://localhost:8848/nacos/index.html#/login,即可进入登录页面,如下图所示。

默认账户:nacos 默认密码:nacos ,在 数据库users表中存放用户信息。

进入页面如下图所示。

点击右上角 加号,在弹出页面,填写配置信息,点击发布即可。

以上操作保存成功,可在config_info 表中看到保存的信息。

对应在项目目录下有日志log、work等文件夹。

日志his_config_info表 中也有对应的操作的记录。

异常处理
【1】数据库连接失败

报错信息

Error: Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezo
处理方案

时区异常,可把运行的时区 serverTimezone 调整为 Asia/Shanghai

【2】运行class无法选中

问题描述

在 run 运行的configuration 编辑框,Main class 无法选中类。

处理方案

出现此问题,说明代码工程还没有完全导入到编译器。在编辑栏 File -> Project Structure -> 点击左侧树 Project ,在目录中重新选择项目即可,如下图所示。

参考文档

【1】https://blog.csdn.net/weixin_48164819/article/details/130079198

相关推荐
pengyu13 分钟前
【Java设计原则与模式之系统化精讲:壹】 | 编程世界的道与术(实战指导篇)
java·后端·设计模式
日月星辰Ace16 分钟前
JVM 垃圾回收简介
java
掉头发的王富贵19 分钟前
Arthas神器入门:动态调试Java应用,轻松搞定生产环境Bug!
java·后端·debug
Java陈序员24 分钟前
再见 Navicat!一款开源的 Web 数据库管理工具!
java·react.js·docker
知其然亦知其所以然41 分钟前
RAG 结果太水?用 RRF + Reranker 重排,效果翻倍提升!
java·后端·llm
SimonKing42 分钟前
吊打面试官系列:Spring为什么不推荐使用字段依赖注入?
java·后端·架构
魔镜魔镜_谁是世界上最漂亮的小仙女1 小时前
java-集合
java·后端·程序员
真实的菜1 小时前
消息队列高级特性与原理:解锁分布式系统的底层逻辑
java
若水不如远方1 小时前
java范型
java
凌辰揽月1 小时前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法