---
title: 编译spring-cloud-config-2.2.1.RELEASE源码
description: "鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的，不含漏洞及BUG修复。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0017.html
sourcePath: /source/zh/kunpengwebs/ecosystemEnable/SpringCloud/kunpengspringcloudhoxton_02_0017.html
indexId: e92c02d8e0c137cfc7be413be3a688a20de44936fec0d5246370d090261c0c7688
---
# 编译spring-cloud-config-2.2.1.RELEASE源码

鲲鹏镜像站中提供的二进制包是基于开源代码直接编译打包而成的，不含漏洞及BUG修复。

使用开源软件时需遵守开源软件的许可协议。


1. 此项目需要使用非root用户编译。若未创建过非root用户，需要先添加新用户。

  a. 添加非root用户。
    1 useradd springcloudtester

  b. 修改用户密码。

```
passwd springcloudtester
```


  c. 切换到用户根目录下。
    用户根目录一般在“/home”目录下，如1.a中添加的springcloudtester用户根目录为“/home/springcloudtester”。

    1 cd /home/springcloudtester

2. 获取源码。
  在创建的非root用户的根目录下，下载spring-cloud-config-2.2.1.RELEASE源码。

```
git config --global http.sslVerify false
git clone https://github.com/spring-cloud/spring-cloud-config.git
```


3. 更改源码目录的拥有者。
  改变“spring-cloud-config”目录的拥有者为创建的非root用户，并进入该目录。 1 2 chown -R springcloudtester:springcloudtester spring-cloud-config cd spring-cloud-config

4. 切换到指定版本。
  1 git checkout v2.2.1.RELEASE

5. 切换到非root用户。
  1 su springcloudtester

6. 将编译过程拉取的embedded-redis-0.7.2.jar包替换成ARM版本。
- 由于拉取的embedded-redis-0.7.2.jar包只支持x86架构，会导致编译过程报错，因此需将ARM版本的embedded-redis-0.7.2.jar包替换到本地Maven仓库中。
- Arm版本的embedded-redis-0.7.2.jar包可以通过华为鲲鹏镜像站直接下载获取，也可参考《  embedded-redis 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/DependencyLibrary/kunpengembeddedredis6_02_0001.html)
》自行编译得到，本文使用直接从镜像站下载的方法。


  a. 创建库目录“~/.m2/repository/it/ozimov/embedded-redis/0.7.2/”。
    1 mkdir -p ~/.m2/repository/it/ozimov/embedded-redis/0.7.2/

  b. 获取JAR包。
    1 wget https://mirrors.huaweicloud.com/kunpeng/maven/it/ozimov/embedded-redis/0.7.2/embedded-redis-0.7.2.jar --no-check-certificate

  c. 将embedded-redis-0.7.2.jar包复制到创建的库目录下。
    1 cp embedded-redis-0.7.2.jar ~/.m2/repository/it/ozimov/embedded-redis/0.7.2/

7. 执行编译。
  1 ./mvnw clean install -Dgpg.skip=true

  若显示BUILD SUCCESS，则编译通过。

  如果编译过程中遇到报错，请先使用su -命令先切换到root用户，切换目录cd /home/springcloudtester/spring-cloud-config，参考以下解决方法处理报错，最后使用su springcloudtester命令切换为非root用户再次进行编译。 如果下载apache-maven-3.5.0-bin.zip失败，请参考mvnw命令拉取apache-maven失败问题的解决方法解决。 编译过程会因checkstyle-plugin报错，可参考编译Spring Boot时提示Failed during checkstyle execution的解决方法。

8. 切换回root用户。

```
su -
```
