Nacos2.2.0源码搭建遇到的问题
1、编译问题
1.1、java: 程序包com.alibaba.nacos.consistency.entity不存在
1.2、java: 找不到符号 符号: 方法 isStringEmpty(java.lang.Object) 位置: 类 com.google.protobuf.GeneratedMessageV3
1.3、程序包istio.mcp.v1alpha1.MetadataOuterClass不存在
2、问题原因及解决方案
原因:nacos在1.4.1版本之后采用了protobuf,protobuf是google团队开发的用于高效存储和读取结构化数据的工具。这个包是由protobuf在编译时自动生成。所以上述缺失的代码在编译时自动生成的,所以需要优先使用maven编译将它们生成出来。
mvn clean compile -Dmaven.test.skip=true
编译详情如下:
在target目录下查看已经生成entity的包,详情如下:

再次启动,详情如下:

访问 http://localhost:8848/nacos,出现登录界面:
输入账密:nacos/nacos。

至此,Naocs源码可以正常执行了。
3、异常提示消除
虽然nacos可以正常启动,但源码依旧会有异常提示,对由强迫症的人来说非常不舒服。如下:

3.1、下载Protoc版本
下载protoc版本,这里我选择的是3.20.1版本。下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.1。
3.2、解压,并添加到环境变量中

3.3、检查版本
在DOS窗口执行命令:
protoc --version
查看是否环境变量是否加入成功,详情如下:
3.4、进入源码 consistency/src/main/proto 的路径下,使用cmd命令,运行如下指令
protoc --java_out=../java/ ./consistency.proto
protoc --java_out=../java/ ./Data.proto
切换到指定的目录,并执行上述命令:
查看 consistency 中已经生成了 entity :
标签:
CloudAlibaba
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)