侧边栏壁纸
  • 累计撰写 49 篇文章
  • 累计创建 23 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

源码启动 Nacos 服务

阿砖
2024-05-25 / 0 评论 / 0 点赞 / 194 阅读 / 7479 字

本文将介绍如何使用 Nacos 源码启动 Nacos 服务。

环境介绍

  1. IntelliJ IDEA 2022.1.3

  1. JDK 1.8

  1. Nacos 2.2.1

  1. Windows 11

下载源码到本地,然后用 IDEA 打开

git clone https://github.com/alibaba/nacos.git

下载后用 IDEA 打开就可以看到这样的结构目录

记得切换到 master 分支

找到启动类 在 console 目录下

@SpringBootApplication
@ComponentScan(basePackages ="com.alibaba.nacos", excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = {NacosTypeExcludeFilter.class}),
        @Filter(type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class}),
        @Filter(type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class})})
@ServletComponentScan
@EnableScheduling
public classNacos {

public static voidmain(String[] args) {
        SpringApplication.run(Nacos.class, args);
    }
}

直接运行会提示下面的内容 java: 程序包com.alibaba.nacos.consistency.entity不存在

这是因为这个是由 protobuf 编译的时候生成的,现在没有生成所以还得生成一下,不然是运行不起来的。

这时候执行 clean 和 compile 即可

如果执行后 IDEA 还是爆红点击一下刷新图标即可。

再次运行会报错 the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64

可以去 console 目录下的 application.properties 去填写 nacos.core.auth.plugin.nacos.token.secret.key 的值

再次运行又会报错

....
Caused by: java.lang.IllegalArgumentException: db.num is null
    at com.alibaba.nacos.common.utils.Preconditions.checkArgument(Preconditions.java:42)
    at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceProperties.build(ExternalDataSourceProperties.java:75)
    at com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceServiceImpl.reload(ExternalDataSourceServiceImpl.java:134)
    ... 127 common frames omitted

这时候在打开启动旁边的下来选项,找到 Edit Configurations

增加下面的参数 ,配置为单体运行。

-Dnacos.standalone=true

即可运行成功。

0

评论区