1.准备
环境:win10, idea2022.3,java8,maven3.8
2. 从GitHub上下载Nacos源码
或者从releases中选择自己需要的版本,以2.2.4版本为例
下载源码后,使用IDEA打开,结构如下:
3.打包Nacos
根据官网文档Nacos 快速开始 | Nacos,将源码进行打包,执行如下操作
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
遇到问题
在idea控制台上直接执行上述命令时报错:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plu
gin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-t
est-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-
test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
查找原因 ,IDEA的控制台默认调用powershell,但是powershell下不能正确地识别 -Dmaven.test.skip=true 命令,从报错信息可翻译出,{.test.skip=true}终端把这块当作生命周期了,格式有问题。
解决方法
- 将IDEA的控制台换成cmd后执行打包命令
- 直接通过命令提示符cmd进入nacos目录下执行打包命令
- 修改命令,将-Dmaven.test.skip=true使用英文半角单引号包装后执行
mvn -Prelease-nacos '-Dmaven.test.skip=true' clean install -U
结果:
以上说明nacos通过源码打包成功