idea 编译打包nacos2.0.3源码,生成可执行jar 包常见问题
目录
问题1
问题2
问题3
问题4
简单记录一下nacos2.0.3,编译打包的步骤,首先下载源码,免积分下载:
nacos源码:
https://download.csdn.net/download/fyihdg/90461118
protoc 安装包
https://download.csdn.net/download/fyihdg/90492686
下载完成后,导入idea 会有各种问题,本文只记录一些常见的问题
naocs的路径,不要有中文或空格路径,否则会报一些错误:

问题1
istios模块下实体类报编译错误,原因是protoc 没有安装,本地安装对应的版本,nacos源码使用版本:

安装成功后,输入命令检查
protoc --version
我们就安装对应的版本,如果是弹出这个界面,就证明安装成功

再次编译才会成功
问题2
Caused by: java.lang.IllegalStateException: Fail to init node, please see the logs to find the reason.at com.alipay.sofa.jraft.RaftServiceFactory.createAndInitRaftNode(RaftServiceFactory.java:48)at com.alipay.sofa.jraft.RaftGroupService.start(RaftGroupService.java:129)at com.alibaba.nacos.core.distributed.raft.JRaftServer.createMultiRaftGroup(JRaftServer.java:268)at com.alibaba.nacos.core.distributed.raft.JRaftProtocol.addRequestProcessors(JRaftProtocol.java:163)at com.alibaba.nacos.naming.consistency.persistent.impl.PersistentServiceProcessor.afterConstruct(PersistentServiceProcessor.java:79)at com.alibaba.nacos.naming.consistency.persistent.PersistentConsistencyServiceDelegateImpl.createNewPersistentServiceProcessor(PersistentConsistencyServiceDelegateImpl.java:108)at com.alibaba.nacos.naming.consistency.persistent.PersistentConsistencyServiceDelegateImpl.<init>(PersistentConsistencyServiceDelegateImpl.java:54)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:175)... 150 common frames omitted
解决方案,在Nacso启动类,添加:
-Dnacos.standalone=true -Dnacos.home=D:\\soft\\nacos2.0.3\\nacos


这样才能启动成功。
问题3
打包命令在这里可以找到:.github/workflows/ci.yml
执行打包命令:
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
报错:
Too many files with unapproved license: 231 See RAT report in: D:\soft\nacos2.0.3\nacos\target\rat.txt
这个问题是由于 Apache RAT(Release Audit Tool)检测到项目中有大量文件没有包含合适的许可证头信息。Apache RAT 是一个用于检查项目中文件是否符合 Apache 许可证要求的工具。
解决:
D:\soft\nacos2.0.3\nacos\pom.xml文件,apache-rat-plugin 插件添加

<!-- 排除 RocksDB 相关文件 --><exclude>**/data/protocol/raft/**</exclude><!-- 排除配置文件 --><exclude>**/data/tps/**</exclude><exclude>**/data/loader/**</exclude><!-- 排除临时文件 --><exclude>**/data/upgrade.state</exclude><exclude>**/.flattened-pom.xml</exclude><!-- 排除压缩文件 --><exclude>**/*.zip</exclude><exclude>**/target/**</exclude><exclude>**/*.log</exclude><exclude>**/*.json</exclude><exclude>**/*.xml</exclude><exclude>**/*.properties</exclude><exclude>**/*.txt</exclude><exclude>**/*.md</exclude><exclude>**/*.iml</exclude><exclude>**/*.class</exclude><exclude>**/*.jar</exclude><exclude>**/*.war</exclude><exclude>**/*.ear</exclude><exclude>**/*.zip</exclude><exclude>**/*.tar.gz</exclude><exclude>**/*.bin</exclude><exclude>**/*.dat</exclude><exclude>**/*.cache</exclude><exclude>**/*.lst</exclude><exclude>**/*.sql</exclude><exclude>**/*.csv</exclude><exclude>**/*.png</exclude><exclude>**/*.jpg</exclude><exclude>**/*.gif</exclude><exclude>**/*.ico</exclude><exclude>**/*.svg</exclude><exclude>**/*.woff</exclude><exclude>**/*.woff2</exclude><exclude>**/*.ttf</exclude><exclude>**/*.eot</exclude><exclude>**/*.otf</exclude><exclude>**/*.swf</exclude><exclude>**/*.mp3</exclude><exclude>**/*.mp4</exclude><exclude>**/*.flv</exclude><exclude>**/*.avi</exclude><exclude>**/*.wmv</exclude><exclude>**/*.mov</exclude><exclude>**/*.mkv</exclude><exclude>**/*.pdf</exclude><exclude>**/*.doc</exclude><exclude>**/*.docx</exclude><exclude>**/*.xls</exclude><exclude>**/*.xlsx</exclude><exclude>**/*.ppt</exclude><exclude>**/*.pptx</exclude><exclude>**/*.odt</exclude><exclude>**/*.ods</exclude><exclude>**/*.odp</exclude><exclude>**/*.odg</exclude><exclude>**/*.odc</exclude><exclude>**/*.odf</exclude><exclude>**/*.odb</exclude><exclude>**/*.sxc</exclude><exclude>**/*.sxd</exclude><exclude>**/*.sxi</exclude><exclude>**/*.sxw</exclude><exclude>**/*.sxg</exclude><exclude>**/*.stw</exclude><exclude>**/*.sxm</exclude><exclude>**/*.otc</exclude><exclude>**/*.ots</exclude><exclude>**/*.otp</exclude><exclude>**/*.otg</exclude><exclude>**/*.odi</exclude><exclude>**/*.oth</exclude><exclude>**/*.oxt</exclude><exclude>**/*.odb</exclude><exclude>**/*.odm</exclude><exclude>**/*.ott</exclude><exclude>**/*.otx</exclude><exclude>**/*.odc</exclude><exclude>**/*.odf</exclude><exclude>**/*.odg</exclude><exclude>**/*.odi</exclude><exclude>**/*.odp</exclude><exclude>**/*.ods</exclude><exclude>**/*.odt</exclude><exclude>**/*.oga</exclude><exclude>**/*.ogg</exclude><exclude>**/*.ogv</exclude><exclude>**/*.ogx</exclude><exclude>**/*.spx</exclude><exclude>**/*.opus</exclude><exclude>**/*.webm</exclude><exclude>**/*.mkv</exclude><exclude>**/*.flac</exclude><exclude>**/*.aac</exclude><exclude>**/*.m4a</exclude><exclude>**/*.mp3</exclude><exclude>**/*.wav</exclude><exclude>**/*.wma</exclude><exclude>**/*.mid</exclude><exclude>**/*.midi</exclude><exclude>**/*.kar</exclude><exclude>**/*.ape</exclude><exclude>**/*.ra</exclude><exclude>**/*.rm</exclude><exclude>**/*.ram</exclude><exclude>**/*.wv</exclude><exclude>**/*.wvp</exclude><exclude>**/*.aif</exclude><exclude>**/*.aiff</exclude><exclude>**/*.aifc</exclude><exclude>**/*.au</exclude><exclude>**/*.snd</exclude><exclude>**/*.voc</exclude><exclude>**/*.8svx</exclude><exclude>**/*.smp</exclude><exclude>**/*.sph</exclude><exclude>**/*.smpl</exclude><exclude>**/*.smpls</exclude><exclude>**/*.smplx</exclude><exclude>**/*.smplz</exclude><exclude>**/*.smpl2</exclude><exclude>**/*.smpl3</exclude><exclude>**/*.smpl4</exclude><exclude>**/*.smpl5</exclude><exclude>**/*.smpl6</exclude><exclude>**/*.smpl7</exclude><exclude>**/*.smpl8</exclude><exclude>**/*.smpl9</exclude><exclude>**/*.smpl10</exclude><exclude>**/*.smpl11</exclude><exclude>**/*.smpl12</exclude><exclude>**/*.smpl13</exclude><exclude>**/*.smpl14</exclude><exclude>**/*.smpl15</exclude><exclude>**/*.smpl16</exclude><exclude>**/*.smpl17</exclude><exclude>**/*.smpl18</exclude><exclude>**/*.smpl19</exclude><exclude>**/*.smpl20</exclude><exclude>**/*.smpl21</exclude><exclude>**/*.smpl22</exclude><exclude>**/*.smpl23</exclude><exclude>**/*.smpl24</exclude><exclude>**/*.smpl25</exclude><exclude>**/*.smpl26</exclude><exclude>**/*.smpl27</exclude><exclude>**/*.smpl28</exclude><exclude>**/*.smpl29</exclude><exclude>**/*.smpl30</exclude><exclude>**/*.smpl31</exclude><exclude>**/*.smpl32</exclude><exclude>**/*.smpl33</exclude><exclude>**/*.smpl34</exclude><exclude>**/*.smpl35</exclude><exclude>**/*.smpl36</exclude><exclude>**/*.smpl37</exclude><exclude>**/*.smpl38</exclude><exclude>**/*.smpl39</exclude><exclude>**/*.smpl40</exclude><exclude>**/*.smpl41</exclude><exclude>**/*.smpl42</exclude><exclude>**/*.smpl43</exclude><exclude>**/*.smpl44</exclude><exclude>**/*.smpl45</exclude><exclude>**/*.smpl46</exclude><exclude>**/*.smpl47</exclude><exclude>**/*.smpl48</exclude><exclude>**/*.smpl49</exclude><exclude>**/*.smpl50</exclude><exclude>**/*.smpl51</exclude><exclude>**/*.smpl52</exclude><exclude>**/*.smpl53</exclude><exclude>**/*.smpl54</exclude><exclude>**/*.smpl55</exclude><exclude>**/*.smpl56</exclude><exclude>**/*.smpl57</exclude><exclude>**/*.smpl58</exclude><exclude>**/*.smpl59</exclude><exclude>**/*.smpl60</exclude><exclude>**/*.smpl61</exclude><exclude>**/*.smpl62</exclude><exclude>**/*.smpl63</exclude><exclude>**/*.smpl64</exclude><exclude>**/*.smpl65</exclude><exclude>**/*.smpl66</exclude><exclude>**/*.smpl67</exclude><exclude>**/*.smpl68</exclude><exclude>**/*.smpl69</exclude><exclude>**/*.smpl70</exclude><exclude>**/*.smpl71</exclude><exclude>**/*.smpl72</exclude><exclude>**/*.smpl73</exclude><exclude>**/*.smpl74</exclude><exclude>**/*.smpl75</exclude><exclude>**/*.smpl76</exclude><exclude>**/*.smpl77</exclude><exclude>**/*.smpl78</exclude><exclude>**/*.smpl79</exclude><exclude>**/*.smpl80</exclude><exclude>**/*.smpl81</exclude><exclude>**/*.smpl82</exclude><exclude>**/*.smpl83</exclude><exclude>**/*.smpl84</exclude><exclude>**/*.smpl85</exclude><exclude>**/*.smpl86</exclude><exclude>**/*.smpl87</exclude><exclude>**/*.smpl88</exclude><exclude>**/*.smpl89</exclude><exclude>**/*.smpl90</exclude><exclude>**/*.smpl91</exclude><exclude>**/*.smpl92</exclude><exclude>**/*.smpl93</exclude><exclude>**/*.smpl94</exclude><exclude>**/*.smpl95</exclude><exclude>**/*.smpl96</exclude><exclude>**/*.smpl97</exclude><exclude>**/*.smpl98</exclude><exclude>**/*.smpl99</exclude><exclude>**/*.smpl100</exclude><exclude>**/*.smpl101</exclude><exclude>**/*.smpl102</exclude><exclude>**/*.smpl103</exclude><exclude>**/*.smpl104</exclude><exclude>**/*.smpl105</exclude><exclude>**/*.smpl106</exclude><exclude>**/*.smpl107</exclude><exclude>**/*.smpl108</exclude><exclude>**/*.smpl109</exclude><exclude>**/*.smpl110</exclude><exclude>**/*.smpl111</exclude><exclude>**/*.smpl112</exclude><exclude>**/*.smpl113</exclude><exclude>**/*.smpl114</exclude><exclude>**/*.smpl115</exclude><exclude>**/*.smpl116</exclude><exclude>**/*.smpl117</exclude><exclude>**/*.smpl118</exclude><exclude>**/*.smpl119</exclude><exclude>**/*.smpl120</exclude><exclude>**/*.smpl121</exclude><exclude>**/*.smpl122</exclude><exclude>**/*.smpl123</exclude><exclude>**/*.smpl124</exclude><exclude>**/*.smpl125</exclude><exclude>**/*.smpl126</exclude><exclude>**/*.smpl127</exclude><exclude>**/*.smpl128</exclude><exclude>**/*.smpl129</exclude><exclude>**/*.smpl130</exclude><exclude>**/*.smpl131</exclude><exclude>**/*.smpl132</exclude><exclude>**/*.smpl133</exclude><exclude>**/*.smpl134</exclude>
问题4
执行
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
报错:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.5.0-M1:repackage (default) on project nacos-console: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:3.5.0-M1:repackage failed: Plugin org.springframework.boot:spring-boot-maven-plugin:3.5.0-M1 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.springframework.boot:spring-boot-buildpack-platform:jar:3.5.0-M1, org.springframework.boot:spring-boot-loader-tools:jar:3.5.0-M1: Could not find artifact org.springframework.boot:spring-boot-buildpack-platform:jar:3.5.0-M1 in private-maven (https://nexus.51job.com/repository/maven-public/) -> [Help 1]
解决方案:
在idea全局搜索:spring-boot-maven-plugin ,然后添加版本号:
<version>2.7.18</version>

才会生成可执行jar

相关文章:
idea 编译打包nacos2.0.3源码,生成可执行jar 包常见问题
目录 问题1 问题2 问题3 问题4 简单记录一下nacos2.0.3,编译打包的步骤,首先下载源码,免积分下载: nacos源码: https://download.csdn.net/download/fyihdg/90461118 protoc 安装包 https://download.csdn.net…...
YOLOv8 OBB 旋转目标检测模型详解与实践
引言 在计算机视觉领域,目标检测是至关重要的任务之一。YOLO(You Only Look Once)系列算法因其高效性和准确性而广受欢迎。YOLOv8 作为稳定版本,在目标检测领域取得了显著成果,依旧能打。本文将深入探讨 YOLOv8 OBB&a…...
机器学习之支持向量机(SVM)算法详解
文章目录 引言一、 什么是支持向量机(SVM)二、 SVM的基本原理三、数学推导1.线性可分情况2. 非线性可分情况3. 核函数 四、SVM的优缺点优点:缺点: 五、 应用场景六、 Python实现示例七、 总结 引言 支持向量机(Suppor…...
Linux系统移植篇(十一)Linux 内核启动流程
要分析 Linux 启动流程,同样需要先编译一下 Linux 源码,因为有很多文件是需要编译才 会生成的。首先分析 Linux 内核的连接脚本文件 arch/arm/kernel/vmlinux.lds,通过链接脚本可以 找到 Linux 内核的第一行程序是从哪里执行的。vmlinux.lds …...
功能强大的电脑硬件检测及驱动安装工具
今天给大家带来一款超实用的电脑硬件检测软件——入梦工具箱。它是开源的,全程无广告干扰,使用起来清爽又安心。 打开入梦工具箱,进入“硬件信息”选项,电脑各个配件的详细参数一目了然。 无论是CPU的型号、频率,还是…...
springBoot中使用事务的隔离与回滚
在 Spring Boot 中,事务的隔离和回滚是保障数据一致性和完整性的重要机制。下面将详细介绍如何在 Spring Boot 里使用事务的隔离和回滚。 1. 环境准备 首先要确保 Spring Boot 项目中添加了 Spring Data JPA 或其他持久化框架的依赖,同时配置好数据库连…...
HHJS项目记录
1、插入 支出合同 与 进项发票的上下车关系 MERGE INTO T_BOT_Relation a USING (SELECT invoice.fid AS invoiceID, contract.fid AS contractid FROM T_CON_Invoice invoice INNER JOIN T_CON_Contract AS contract ON contract.FNUMBER invoice.FContractNo ) t ON (a.FDe…...
【Altium Designer】设计技巧
目录 技巧一:铺铜连接方式 技巧二:铺铜连接方式 技巧一:铺铜连接方式 Design -> Rules -> PolygonConnect 三种选择: 1)Relief Connect:十字连接,可选择是45还是90 2)Direct…...
基于FPGA的3U机箱模拟量高速采样板ADI板卡,应用于轨道交通/电力储能等
板卡简介: 本板为模拟量高速采样板(ADI),主要用于电机转速和相电流检测,以实现电机闭环控制。 性能规格: 电源:DC5V,DC3.3V,DC15V,DC24V FPGA:…...
6. 顺序表和链表*****
目录 1. 顺序表 1.1 原理 1.2 常见的增删查改 1.3 顺序表的问题 2. 链表 2.1 原理 2.2 无头单向非循环的增删查改 2.3 链表面试题 1. 删除链表中等于给定值val的所有节点203. 移除链表元素 2. 链表逆置206. 反转链表(考的最多) 3.给你单链表的…...
Vue3 + TS组件封装指南
在 Vue 3 TypeScript 中封装组件时,需要注意以下几点: 1. Props 定义 使用 defineProps 或 PropType 定义组件的 props,并为其添加类型。 示例: import { defineComponent, PropType } from vue;export default defineComponen…...
【AVRCP】蓝牙协议栈深度解析:AVCTP互操作性核心机制与实现细节
目录 一、事务标签(Transaction Label)机制 1.1 事务标签核心规则 1.2 事务标签作用域与并发性 1.3 实现建议与陷阱规避 1.4 协议设计思考 1.5 调试与验证 二、消息分片(Fragmentation)机制 2.1 分片触发条件 2.2 分片支…...
【MySQL】基本查询(下)
文章目录 1.筛选分页结果2.Update3.Delete4.截断表5.插入查询结果6.聚合函数6.1什么是聚合函数6.2常见的聚合函数 7.group by7.1如何显示每个部门的平均工资和最高工资7.2显示每个部门的每种岗位的平均工资和最低工资7.3显示平均工资低于2000的部门和它的平均工资 8.总结 1.筛选…...
Xpath Helper 替代 - XPath 测试器
Xpath Helper 最近开始(2025.03)无法使用了,选找了几款替代品,XPath 测试器 是目前看来最好的。 XPath 测试器 市场地址: https://chromewebstore.google.com/detail/xpath-测试器/cneomjecgakdfoeehmmmoiklncdiodmh …...
C++学习之云盘项目nginx
1.复习 2.知识点概述 1. 一些基本概念 1.1 Nginx 初步认识 1.2 正向 / 反向代理 1.3 域名和 IP 2. Nginx 安装和配置 2.1 安装 2.2 配置 3. Nginx 的使用 3.1 部署静态网页 3.2 反向代理和负载均衡 课外知识导读 1. URL 和 URI 2. DNS 解析过程 1. 一些基…...
JAVA学习*抽象类
抽象类 在Java中,被abstract关键字修饰的类被称为抽象类。 特点 1、当一个类继承了抽象类,一定要重写抽象方法!!! public abstract class Animal {public int age;public String name;//抽象方法public abstract v…...
数据库管理-第303期 数据库相关硬件文章汇总(20250319)
数据库管理303期 2025-03-19 数据库管理-第303期 数据库相关硬件文章汇总(20250319)1 CPU & 内存2 SSD3 RDMA4 存储5 CXL6 硬件采购7 数据库一体机总结 数据库管理-第303期 数据库相关硬件文章汇总(20250319) 作者࿱…...
WPF 开发从入门到进阶(五)
一、WPF 简介与开发环境搭建 1.1 WPF 概述 Windows Presentation Foundation(WPF)是微软推出的用于构建 Windows 桌面应用程序的强大 UI 框架。它融合了矢量图形、动画、多媒体等多种技术,能让开发者创建出具有高度视觉吸引力和交互性的应用…...
高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
如果有遗漏,评论区告诉我进行补充 面试官: Eureka是什么? 我回答: 在Java高级面试中,关于Eureka的讨论通常会涵盖其基本概念、组件与架构、工作原理、高级特性以及与其他服务发现工具的比较等多个方面。以下是结合提供的内容对Eureka进行的详细解析和…...
OctoTools:一个具有复杂推理可扩展工具的智体框架
25年2月来自斯坦福大学的论文“OctoTools: An Agentic Framework with Extensible Tools for Complex Reasoning”。 解决复杂的推理任务可能涉及视觉理解、域知识检索、数值计算和多步骤推理。现有方法使用外部工具增强大语言模型 (LLM),但仅限于专业领域、有限的…...
uniapp-x web 开发警告提示以及解决方法
defineModel props...
html5表格实战-跨行跨列
效果如图 代码如图...
前端开发概论
HTML,CSS,JS三者关系 html是骨架,决定呈现什么内容,而css定义样式,是华丽的外衣,javascript是操作逻辑,实现按钮等等,是人的灵魂 HTML文件存储着一个网页的骨架,CSS则是外衣,javas…...
Canary
定义: Canary是一种用以防护栈溢出的保护机制。 原理: 是在一个函数的入口处,先从fs/gs寄存器中取出一个4字节(eax,四字节通常是32位的文件)或者8字节(rax,通常是64位的文件)的值…...
c++领域展开第十七幕——STL(vector容器的模拟实现以及迭代器失效问题)超详细!!!!
文章目录 前言vector——基本模型vector——迭代器模拟实现vector——容量函数以及push_back、pop_backvector——默认成员函数vector——运算符重载vector——插入和删除函数vector——实现过程的问题迭代器失效memcpy的浅拷贝问题 总结 前言 上篇博客我们已经详细介绍了vecto…...
BUUCTF Pwn babyheap_0ctf_2017 Unsorted bin attack部分
checksec exeinfo 开启了全保护 64位 查看函数: 堆题 增删查改齐了 可以在编辑堆的时候重新设置大小 存在堆溢出 delete函数的指针清零了 无UAF 想法是通过unsorted bin泄露libc基址: from pwn import *p process(./babyheap) #p remote("node…...
【C++指南】内存管理完全手册:new/delete
🌟 各位看官好,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C内存管理的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享…...
Vue3组合式函数(滚动监测 useScroll)
主要用于实时监测目标元素滚动位置及状态 工具函数源码 /*** 组合式函数* 实时监测目标元素滚动位置及状态** 自定义钩子用于处理滚动事件和状态* param target 滚动目标元素,可以是 Ref、HTMLElement、Window 或 Document,默认为 window* param throt…...
Vue.js+Element UI 登录界面开发详解【附源码】
成果图: 一、技术架构解析 本登录模块采用前后端分离架构,前端基于Vue.jsElement UI实现交互逻辑,主要包含以下技术要点: 组件化开发 - 采用单文件组件形式组织代码响应式设计 - 实现多终端适配状态管理 - 使用sessionSto…...
瑞幸需要宇树科技
吃不到“星巴克红利”,瑞幸活成“Manner”。 作者|古廿 编辑|杨舟 “是不是又要开始3月革命了。”有瑞幸员工透露,今年开始瑞幸加强了系统排班的执行力度。新的排班体系下,要求各时段门店实际值班人员和排班系统一致。如果需要调整…...
