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

相关推荐
笨拙的老猴子18 分钟前
[特殊字符] Java GC机制详解:G1、ZGC、Shenandoah全面解析与版本演进对比
java·开发语言
砍材农夫1 小时前
物联网 基于netty构建mqtt协议规范(遗嘱与保留消息)
java·开发语言·物联网·netty
DFT计算杂谈1 小时前
KPROJ编译教程
java·前端·python·算法·conda
重生之我是Java开发战士1 小时前
【笔试强训】Week5:空调遥控, kotor和气球,走迷宫,主持人调度II,体操队形,二叉树的最大路径和,排序子序列,消减整数
java·算法·动态规划
郑重其事,鹏程万里1 小时前
表达式计算器(mvel2)
java
其实防守也摸鱼1 小时前
软件安全与漏洞--软件安全编码
java·前端·网络·安全·网络安全·web·工具
888CC++2 小时前
栈上分配 VS 堆分配 核心区别
java·开发语言·jvm
艾利克斯冰2 小时前
Java面试题汇总
java
我是一颗柠檬2 小时前
【JavaSE全面教学】Java集合框架下Day13(2026年)
java·开发语言·intellij-idea
vx-程序开发2 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php